Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj
===================================================================
diff -u -r4aa6d896646fee50b7bc6fadd9c2251b4fdd4f2e -ra97bb5cc5d80058a536b95a62c4cde7c89d6ef76
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj) (revision 4aa6d896646fee50b7bc6fadd9c2251b4fdd4f2e)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj) (revision a97bb5cc5d80058a536b95a62c4cde7c89d6ef76)
@@ -85,7 +85,7 @@
-
+
Fisheye: Tag a97bb5cc5d80058a536b95a62c4cde7c89d6ef76 refers to a dead (removed) revision in file `Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsOutputTreeNodeInfoTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/ProbabilisticOutputTreeNodeInfoTest.cs
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/ProbabilisticOutputTreeNodeInfoTest.cs (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/ProbabilisticOutputTreeNodeInfoTest.cs (revision a97bb5cc5d80058a536b95a62c4cde7c89d6ef76)
@@ -0,0 +1,120 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Linq;
+using Core.Common.Controls.TreeView;
+using Core.Common.Gui;
+using Core.Common.Gui.ContextMenu;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.GrassCoverErosionInwards.Plugin;
+using GrassCoverErosionInwardsFormsResources = Ringtoets.GrassCoverErosionInwards.Forms.Properties.Resources;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Ringtoets.GrassCoverErosionInwards.Forms.Test.TreeNodeInfos
+{
+ [TestFixture]
+ public class ProbabilisticOutputTreeNodeInfoTest
+ {
+ private MockRepository mocksRepository;
+ private GrassCoverErosionInwardsGuiPlugin plugin;
+ private TreeNodeInfo info;
+
+ [SetUp]
+ public void SetUp()
+ {
+ mocksRepository = new MockRepository();
+ plugin = new GrassCoverErosionInwardsGuiPlugin();
+ info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(ProbabilisticOutput));
+ }
+
+ [Test]
+ public void Initialized_Always_ExpectedPropertiesSet()
+ {
+ // Assert
+ Assert.AreEqual(typeof(ProbabilisticOutput), info.TagType);
+ Assert.IsNotNull(info.Text);
+ Assert.IsNotNull(info.Image);
+ Assert.IsNotNull(info.ContextMenuStrip);
+ Assert.IsNull(info.ForeColor);
+ Assert.IsNull(info.EnsureVisibleOnCreate);
+ Assert.IsNull(info.ChildNodeObjects);
+ Assert.IsNull(info.CanRename);
+ Assert.IsNull(info.OnNodeRenamed);
+ Assert.IsNull(info.CanRemove);
+ Assert.IsNull(info.OnNodeRemoved);
+ Assert.IsNull(info.CanCheck);
+ Assert.IsNull(info.IsChecked);
+ Assert.IsNull(info.OnNodeChecked);
+ Assert.IsNull(info.CanDrag);
+ Assert.IsNull(info.CanDrop);
+ Assert.IsNull(info.CanInsert);
+ Assert.IsNull(info.OnDrop);
+ }
+
+ [Test]
+ public void Text_Always_ReturnsFromResource()
+ {
+ // Call
+ var text = info.Text(null);
+
+ // Assert
+ Assert.AreEqual(RingtoetsCommonFormsResources.CalculationOutput_DisplayName, text);
+ }
+
+ [Test]
+ public void Image_Always_ReturnsGeneralOutputIcon()
+ {
+ // Call
+ var image = info.Image(null);
+
+ // Assert
+ TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.GeneralOutputIcon, image);
+ }
+
+ [Test]
+ public void ContextMenuStrip_Always_CallsContextMenuBuilderMethods()
+ {
+ // Setup
+ var guiMock = mocksRepository.StrictMock();
+ var menuBuilderMock = mocksRepository.StrictMock();
+ var treeViewControlMock = mocksRepository.StrictMock();
+
+ menuBuilderMock.Expect(mb => mb.AddExportItem()).Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.Build()).Return(null);
+
+ guiMock.Expect(cmp => cmp.Get(null, treeViewControlMock)).Return(menuBuilderMock);
+ mocksRepository.ReplayAll();
+
+ plugin.Gui = guiMock;
+
+ // Call
+ info.ContextMenuStrip(null, null, treeViewControlMock);
+
+ // Assert
+ mocksRepository.VerifyAll();
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj
===================================================================
diff -u -r3280840f72a6c61740b803385f3af8ec1f6ede91 -ra97bb5cc5d80058a536b95a62c4cde7c89d6ef76
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj) (revision 3280840f72a6c61740b803385f3af8ec1f6ede91)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.Test.csproj) (revision a97bb5cc5d80058a536b95a62c4cde7c89d6ef76)
@@ -47,6 +47,7 @@
+
@@ -57,6 +58,7 @@
+
@@ -81,6 +83,10 @@
{30e4c2ae-719e-4d70-9fa9-668a9767fbfa}
Core.Common.Gui
+
+ {D749EE4C-CE50-4C17-BF01-9A953028C126}
+ Core.Common.TestUtil
+
{d4200f43-3f72-4f42-af0a-8ced416a38ec}
Ringtoets.Common.Data
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/ViewInfos/GrassCoverErosionInwardsFailureMechanismResultViewInfoTest.cs
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/ViewInfos/GrassCoverErosionInwardsFailureMechanismResultViewInfoTest.cs (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/ViewInfos/GrassCoverErosionInwardsFailureMechanismResultViewInfoTest.cs (revision a97bb5cc5d80058a536b95a62c4cde7c89d6ef76)
@@ -0,0 +1,332 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Collections.Generic;
+using System.Linq;
+using Core.Common.Base.Geometry;
+using Core.Common.Gui.Plugin;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects;
+using Ringtoets.GrassCoverErosionInwards.Forms.Views;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Ringtoets.GrassCoverErosionInwards.Plugin.Test.ViewInfos
+{
+ [TestFixture]
+ public class GrassCoverErosionInwardsFailureMechanismResultViewInfoTest
+ {
+ private GrassCoverErosionInwardsGuiPlugin plugin;
+ private ViewInfo info;
+
+ [SetUp]
+ public void SetUp()
+ {
+ plugin = new GrassCoverErosionInwardsGuiPlugin();
+ info = plugin.GetViewInfos().First(tni => tni.ViewType == typeof(GrassCoverErosionInwardsFailureMechanismResultView));
+ }
+
+ [TearDown]
+ public void TearDown()
+ {
+ plugin.Dispose();
+ }
+
+ [Test]
+ public void Initialized_Always_ExpectedPropertiesSet()
+ {
+ // Assert
+ Assert.AreEqual(typeof(FailureMechanismSectionResultContext), info.DataType);
+ }
+
+ [Test]
+ public void GetViewName_Always_ReturnsViewName()
+ {
+ // Setup
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView();
+
+ // Call
+ var viewName = info.GetViewName(view, Enumerable.Empty());
+
+ // Assert
+ Assert.AreEqual("Oordeel", viewName);
+ }
+
+ [Test]
+ public void GetViewData_Always_ReturnsSectionResults()
+ {
+ // Setup
+ var sectionResults = new[]
+ {
+ new GrassCoverErosionInwardsFailureMechanismSectionResult(CreateSection()),
+ };
+
+ var context = new FailureMechanismSectionResultContext(
+ sectionResults, new GrassCoverErosionInwardsFailureMechanism());
+
+ // Call
+ var viewData = info.GetViewData(context);
+
+ // Assert
+ Assert.AreSame(sectionResults, viewData);
+ }
+
+ [Test]
+ public void ViewType_Always_ReturnsViewType()
+ {
+ // Call
+ var viewType = info.ViewType;
+
+ // Assert
+ Assert.AreEqual(typeof(GrassCoverErosionInwardsFailureMechanismResultView), viewType);
+ }
+
+ [Test]
+ public void DataType_Always_ReturnsDataType()
+ {
+ // Call
+ var dataType = info.DataType;
+
+ // Assert
+ Assert.AreEqual(typeof(FailureMechanismSectionResultContext),
+ dataType);
+ }
+
+ [Test]
+ public void ViewDataType_Always_ReturnViewDataType()
+ {
+ // Call
+ var viewDataType = info.ViewDataType;
+
+ // Assert
+ Assert.AreEqual(typeof(IEnumerable), viewDataType);
+ }
+
+ [Test]
+ public void Image_Always_ReturnsFailureMechanismSectionResultIcon()
+ {
+ // Call
+ var image = info.Image;
+
+ // Assert
+ TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, image);
+ }
+
+ [Test]
+ public void CloseForData_AssessmentSectionRemovedWithoutFailureMechanism_ReturnsFalse()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView
+ {
+ Data = failureMechanism.SectionResults
+ };
+
+ var assessmentSectionMock = mocks.StrictMock();
+ assessmentSectionMock.Expect(asm => asm.GetFailureMechanisms()).Return(new IFailureMechanism[0]);
+
+ mocks.ReplayAll();
+
+ // Call
+ var closeForData = info.CloseForData(view, assessmentSectionMock);
+
+ // Assert
+ Assert.IsFalse(closeForData);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void CloseForData_ViewNotCorrespondingToRemovedAssessmentSection_ReturnsFalse()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSectionMock = mocks.StrictMock();
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView
+ {
+ Data = failureMechanism.SectionResults
+ };
+
+ assessmentSectionMock.Expect(asm => asm.GetFailureMechanisms()).Return(new[]
+ {
+ new GrassCoverErosionInwardsFailureMechanism()
+ });
+
+ mocks.ReplayAll();
+
+ // Call
+ var closeForData = info.CloseForData(view, assessmentSectionMock);
+
+ // Assert
+ Assert.IsFalse(closeForData);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void CloseForData_ViewCorrespondingToRemovedAssessmentSection_ReturnsTrue()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSectionMock = mocks.StrictMock();
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView
+ {
+ Data = failureMechanism.SectionResults
+ };
+ assessmentSectionMock.Expect(asm => asm.GetFailureMechanisms()).Return(new IFailureMechanism[]
+ {
+ new GrassCoverErosionInwardsFailureMechanism(),
+ failureMechanism
+ });
+
+ mocks.ReplayAll();
+
+ // Call
+ var closeForData = info.CloseForData(view, assessmentSectionMock);
+
+ // Assert
+ Assert.IsTrue(closeForData);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue()
+ {
+ // Setup
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView
+ {
+ Data = failureMechanism.SectionResults
+ };
+
+ // Call
+ var closeForData = info.CloseForData(view, failureMechanism);
+
+ // Assert
+ Assert.IsTrue(closeForData);
+ }
+
+ [Test]
+ public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanismContext_ReturnsFalse()
+ {
+ // Setup
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView
+ {
+ Data = failureMechanism.SectionResults
+ };
+
+ // Call
+ var closeForData = info.CloseForData(view, new GrassCoverErosionInwardsFailureMechanism());
+
+ // Assert
+ Assert.IsFalse(closeForData);
+ }
+
+ [Test]
+ public void CloseForData_ViewCorrespondingToRemovedFailureMechanismContext_ReturnsTrue()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSectionMock = mocks.StrictMock();
+ mocks.ReplayAll();
+
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ var failureMechanismContext = new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock);
+
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView
+ {
+ Data = failureMechanism.SectionResults
+ };
+
+ // Call
+ var closeForData = info.CloseForData(view, failureMechanismContext);
+
+ // Assert
+ Assert.IsTrue(closeForData);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanism_ReturnsFalse()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSectionMock = mocks.StrictMock();
+ mocks.ReplayAll();
+
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ var view = new GrassCoverErosionInwardsFailureMechanismResultView
+ {
+ Data = failureMechanism.SectionResults
+ };
+
+ var failureMechanismContext = new GrassCoverErosionInwardsFailureMechanismContext(new GrassCoverErosionInwardsFailureMechanism(),
+ assessmentSectionMock);
+
+ // Call
+ var closeForData = info.CloseForData(view, failureMechanismContext);
+
+ // Assert
+ Assert.IsFalse(closeForData);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AfterCreate_Always_SetsSpecificPropertiesToView()
+ {
+ // Setup
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults,
+ failureMechanism);
+
+ var mocks = new MockRepository();
+ var viewMock = mocks.StrictMock();
+ viewMock.Expect(v => v.FailureMechanism = failureMechanism);
+ mocks.ReplayAll();
+
+ // Call
+ info.AfterCreate(viewMock, context);
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ private static FailureMechanismSection CreateSection()
+ {
+ return new FailureMechanismSection("test", new[]
+ {
+ new Point2D(1, 2),
+ new Point2D(3, 4)
+ });
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Ringtoets.HeightStructures.Forms.Test.csproj
===================================================================
diff -u -r4aa6d896646fee50b7bc6fadd9c2251b4fdd4f2e -ra97bb5cc5d80058a536b95a62c4cde7c89d6ef76
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Ringtoets.HeightStructures.Forms.Test.csproj (.../Ringtoets.HeightStructures.Forms.Test.csproj) (revision 4aa6d896646fee50b7bc6fadd9c2251b4fdd4f2e)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/Ringtoets.HeightStructures.Forms.Test.csproj (.../Ringtoets.HeightStructures.Forms.Test.csproj) (revision a97bb5cc5d80058a536b95a62c4cde7c89d6ef76)
@@ -66,7 +66,7 @@
-
+
Fisheye: Tag a97bb5cc5d80058a536b95a62c4cde7c89d6ef76 refers to a dead (removed) revision in file `Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/TreeNodeInfos/HeightStructuresOutputTreeNodeInfoTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/TreeNodeInfos/ProbabilisticOutputTreeNodeInfoTest.cs
===================================================================
diff -u
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/TreeNodeInfos/ProbabilisticOutputTreeNodeInfoTest.cs (revision 0)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/TreeNodeInfos/ProbabilisticOutputTreeNodeInfoTest.cs (revision a97bb5cc5d80058a536b95a62c4cde7c89d6ef76)
@@ -0,0 +1,119 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Linq;
+using Core.Common.Controls.TreeView;
+using Core.Common.Gui;
+using Core.Common.Gui.ContextMenu;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.HeightStructures.Plugin;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Ringtoets.HeightStructures.Forms.Test.TreeNodeInfos
+{
+ [TestFixture]
+ public class ProbabilisticOutputTreeNodeInfoTest
+ {
+ private MockRepository mocksRepository;
+ private HeightStructuresGuiPlugin plugin;
+ private TreeNodeInfo info;
+
+ [SetUp]
+ public void SetUp()
+ {
+ mocksRepository = new MockRepository();
+ plugin = new HeightStructuresGuiPlugin();
+ info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(ProbabilisticOutput));
+ }
+
+ [Test]
+ public void Initialized_Always_ExpectedPropertiesSet()
+ {
+ // Assert
+ Assert.AreEqual(typeof(ProbabilisticOutput), info.TagType);
+ Assert.IsNotNull(info.Text);
+ Assert.IsNotNull(info.Image);
+ Assert.IsNotNull(info.ContextMenuStrip);
+ Assert.IsNull(info.ForeColor);
+ Assert.IsNull(info.EnsureVisibleOnCreate);
+ Assert.IsNull(info.ChildNodeObjects);
+ Assert.IsNull(info.CanRename);
+ Assert.IsNull(info.OnNodeRenamed);
+ Assert.IsNull(info.CanRemove);
+ Assert.IsNull(info.OnNodeRemoved);
+ Assert.IsNull(info.CanCheck);
+ Assert.IsNull(info.IsChecked);
+ Assert.IsNull(info.OnNodeChecked);
+ Assert.IsNull(info.CanDrag);
+ Assert.IsNull(info.CanDrop);
+ Assert.IsNull(info.CanInsert);
+ Assert.IsNull(info.OnDrop);
+ }
+
+ [Test]
+ public void Text_Always_ReturnsFromResource()
+ {
+ // Call
+ var text = info.Text(null);
+
+ // Assert
+ Assert.AreEqual(RingtoetsCommonFormsResources.CalculationOutput_DisplayName, text);
+ }
+
+ [Test]
+ public void Image_Always_ReturnsGeneralOutputIcon()
+ {
+ // Call
+ var image = info.Image(null);
+
+ // Assert
+ TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.GeneralOutputIcon, image);
+ }
+
+ [Test]
+ public void ContextMenuStrip_Always_CallsContextMenuBuilderMethods()
+ {
+ // Setup
+ var guiMock = mocksRepository.StrictMock();
+ var menuBuilderMock = mocksRepository.StrictMock();
+ var treeViewControlMock = mocksRepository.StrictMock();
+
+ menuBuilderMock.Expect(mb => mb.AddExportItem()).Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.Build()).Return(null);
+
+ guiMock.Expect(cmp => cmp.Get(null, treeViewControlMock)).Return(menuBuilderMock);
+ mocksRepository.ReplayAll();
+
+ plugin.Gui = guiMock;
+
+ // Call
+ info.ContextMenuStrip(null, null, treeViewControlMock);
+
+ // Assert
+ mocksRepository.VerifyAll();
+ }
+ }
+}
\ No newline at end of file