diff --git a/mRemoteNGTests/Tree/ExpandNodeClickHandlerTests.cs b/mRemoteNGTests/Tree/ClickHandlers/ExpandNodeClickHandlerTests.cs similarity index 77% rename from mRemoteNGTests/Tree/ExpandNodeClickHandlerTests.cs rename to mRemoteNGTests/Tree/ClickHandlers/ExpandNodeClickHandlerTests.cs index be1d74927..e4ffcb641 100644 --- a/mRemoteNGTests/Tree/ExpandNodeClickHandlerTests.cs +++ b/mRemoteNGTests/Tree/ClickHandlers/ExpandNodeClickHandlerTests.cs @@ -1,7 +1,7 @@ -using mRemoteNG.Connection; +using System; +using mRemoteNG.Connection; using mRemoteNG.Container; using mRemoteNG.Tree; -using mRemoteNG.Tree.Root; using mRemoteNG.UI.Controls; using NSubstitute; using NUnit.Framework; @@ -35,5 +35,12 @@ namespace mRemoteNGTests.Tree _clickHandler.Execute(new ConnectionInfo()); _connectionTree.DidNotReceiveWithAnyArgs().ToggleExpansion(new ConnectionInfo()); } + + [Test] + public void ExceptionThrownOnConstructorNullArg() + { + // ReSharper disable once ObjectCreationAsStatement + Assert.Throws(() => new ExpandNodeClickHandler(null)); + } } } \ No newline at end of file diff --git a/mRemoteNGTests/Tree/OpenConnectionClickHandlerTests.cs b/mRemoteNGTests/Tree/ClickHandlers/OpenConnectionClickHandlerTests.cs similarity index 71% rename from mRemoteNGTests/Tree/OpenConnectionClickHandlerTests.cs rename to mRemoteNGTests/Tree/ClickHandlers/OpenConnectionClickHandlerTests.cs index 5e0f2dcbc..5ceda527d 100644 --- a/mRemoteNGTests/Tree/OpenConnectionClickHandlerTests.cs +++ b/mRemoteNGTests/Tree/ClickHandlers/OpenConnectionClickHandlerTests.cs @@ -1,4 +1,5 @@ -using mRemoteNG.Connection; +using System; +using mRemoteNG.Connection; using mRemoteNG.Tree; using NSubstitute; using NUnit.Framework; @@ -25,5 +26,12 @@ namespace mRemoteNGTests.Tree _clickHandler.Execute(connectionInfo); _connectionInitiator.Received().OpenConnection(connectionInfo); } + + [Test] + public void ExceptionThrownWhenConstructorGivenNullArg() + { + // ReSharper disable once ObjectCreationAsStatement + Assert.Throws(() => new OpenConnectionClickHandler(null)); + } } } diff --git a/mRemoteNGTests/Tree/SwitchToConnectionClickHandlerTests.cs b/mRemoteNGTests/Tree/ClickHandlers/SwitchToConnectionClickHandlerTests.cs similarity index 71% rename from mRemoteNGTests/Tree/SwitchToConnectionClickHandlerTests.cs rename to mRemoteNGTests/Tree/ClickHandlers/SwitchToConnectionClickHandlerTests.cs index 4fd60ede5..d58bf9e9a 100644 --- a/mRemoteNGTests/Tree/SwitchToConnectionClickHandlerTests.cs +++ b/mRemoteNGTests/Tree/ClickHandlers/SwitchToConnectionClickHandlerTests.cs @@ -1,4 +1,5 @@ -using mRemoteNG.Connection; +using System; +using mRemoteNG.Connection; using mRemoteNG.Tree; using NSubstitute; using NUnit.Framework; @@ -25,5 +26,12 @@ namespace mRemoteNGTests.Tree _clickHandler.Execute(connectionInfo); _connectionInitiator.Received().SwitchToOpenConnection(connectionInfo); } + + [Test] + public void ExceptionThrownWhenConstructorGivenNullArg() + { + // ReSharper disable once ObjectCreationAsStatement + Assert.Throws(() => new SwitchToConnectionClickHandler(null)); + } } } \ No newline at end of file diff --git a/mRemoteNGTests/Tree/PreviousSessionOpenerTests.cs b/mRemoteNGTests/Tree/PreviousSessionOpenerTests.cs index e8d0f2e6b..372296fad 100644 --- a/mRemoteNGTests/Tree/PreviousSessionOpenerTests.cs +++ b/mRemoteNGTests/Tree/PreviousSessionOpenerTests.cs @@ -1,4 +1,5 @@ -using mRemoteNG.Connection; +using System; +using mRemoteNG.Connection; using mRemoteNG.Tree; using mRemoteNG.Tree.Root; using mRemoteNG.UI.Controls; @@ -30,6 +31,13 @@ namespace mRemoteNGTests.Tree _connectionInitiator.ReceivedWithAnyArgs(2).OpenConnection(new ConnectionInfo()); } + [Test] + public void ExceptionThrownWhenConstructorGivenNullArg() + { + // ReSharper disable once ObjectCreationAsStatement + Assert.Throws(() => new PreviousSessionOpener(null)); + } + private RootNodeInfo BuildTree() { var root = new RootNodeInfo(RootNodeType.Connection); diff --git a/mRemoteNGTests/mRemoteNGTests.csproj b/mRemoteNGTests/mRemoteNGTests.csproj index fdf827b63..4652c0ae3 100644 --- a/mRemoteNGTests/mRemoteNGTests.csproj +++ b/mRemoteNGTests/mRemoteNGTests.csproj @@ -150,12 +150,12 @@ - + - + - + Form diff --git a/mRemoteNGTests/mRemoteNGTests.csproj.DotSettings b/mRemoteNGTests/mRemoteNGTests.csproj.DotSettings new file mode 100644 index 000000000..1b5bada58 --- /dev/null +++ b/mRemoteNGTests/mRemoteNGTests.csproj.DotSettings @@ -0,0 +1,2 @@ + + True \ No newline at end of file diff --git a/mRemoteV1/Tree/ClickHandlers/OpenConnectionClickHandler.cs b/mRemoteV1/Tree/ClickHandlers/OpenConnectionClickHandler.cs index 786e70bcf..75d3f1972 100644 --- a/mRemoteV1/Tree/ClickHandlers/OpenConnectionClickHandler.cs +++ b/mRemoteV1/Tree/ClickHandlers/OpenConnectionClickHandler.cs @@ -1,4 +1,5 @@ -using mRemoteNG.Connection; +using System; +using mRemoteNG.Connection; namespace mRemoteNG.Tree @@ -9,6 +10,8 @@ namespace mRemoteNG.Tree public OpenConnectionClickHandler(IConnectionInitiator connectionInitiator) { + if (connectionInitiator == null) + throw new ArgumentNullException(nameof(connectionInitiator)); _connectionInitiator = connectionInitiator; } diff --git a/mRemoteV1/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs b/mRemoteV1/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs index 23ec32c04..7c950e130 100644 --- a/mRemoteV1/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs +++ b/mRemoteV1/Tree/ClickHandlers/SwitchToConnectionClickHandler.cs @@ -1,4 +1,5 @@ -using mRemoteNG.Connection; +using System; +using mRemoteNG.Connection; namespace mRemoteNG.Tree @@ -9,6 +10,8 @@ namespace mRemoteNG.Tree public SwitchToConnectionClickHandler(IConnectionInitiator connectionInitiator) { + if (connectionInitiator == null) + throw new ArgumentNullException(nameof(connectionInitiator)); _connectionInitiator = connectionInitiator; }