Index: Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs =================================================================== diff -u -rdd34060f96f6ad881bc93bee9c8f7505f322bcdc -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision dd34060f96f6ad881bc93bee9c8f7505f322bcdc) +++ Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1751,6 +1751,16 @@ } /// + /// Looks up a localized string similar to Er ging iets fout bij het ophalen van de NodePresenters van alle plugins.. + /// + public static string ProjectExplorerGuiPlugin_FillProjectTreeViewNodePresentersFromPlugins_Could_not_retrieve_NodePresenters_for_a_plugin { + get { + return ResourceManager.GetString("ProjectExplorerGuiPlugin_FillProjectTreeViewNodePresentersFromPlugins_Could_not_r" + + "etrieve_NodePresenters_for_a_plugin", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Ei&genschappen. /// public static string Properties { Index: Core/Common/src/Core.Common.Gui/Properties/Resources.resx =================================================================== diff -u -rdd34060f96f6ad881bc93bee9c8f7505f322bcdc -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision dd34060f96f6ad881bc93bee9c8f7505f322bcdc) +++ Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -899,4 +899,7 @@ Kan geen instanties maken van de benodigde objecten. + + Er ging iets fout bij het ophalen van de NodePresenters van alle plugins. + \ No newline at end of file Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs =================================================================== diff -u -rdd34060f96f6ad881bc93bee9c8f7505f322bcdc -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs (.../ContextMenuBuilderTest.cs) (revision dd34060f96f6ad881bc93bee9c8f7505f322bcdc) +++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs (.../ContextMenuBuilderTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -29,8 +29,7 @@ // Assert var message = Assert.Throws(test).Message; - StringAssert.StartsWith(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message); - StringAssert.EndsWith(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message); + Assert.AreEqual(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message); } [Test] @@ -46,14 +45,13 @@ // Assert var message = Assert.Throws(test).Message; - StringAssert.StartsWith(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message); - StringAssert.EndsWith(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message); + Assert.AreEqual(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message); mocks.VerifyAll(); } [Test] - public void Constructor_Gui_NewInstance() + public void Constructor_ParamsSet_DoesNotThrow() { // Setup var guiCommandHandlerMock = mocks.StrictMock(); @@ -87,6 +85,8 @@ // Assert Assert.IsInstanceOf(result); CollectionAssert.IsEmpty(result.Items); + + mocks.VerifyAll(); } [Test] @@ -123,45 +123,48 @@ [Test] [TestCase(true)] [TestCase(false)] - public void AddExpandAllItem_WhenBuild_ItemAddedToContextMenu(bool enabled) + public void AddExpandAllItem_WhenBuild_ItemAddedToContextMenu(bool hasChildren) { // Setup var commandHandlerMock = mocks.StrictMock(); var treeNodeMock = mocks.StrictMock(); - IList childs = new List(); - if (enabled) + IList children = new List(); + if (hasChildren) { - childs.Add(treeNodeMock); + children.Add(treeNodeMock); } - treeNodeMock.Expect(tn => tn.Nodes).Return(childs); - var builder = new ContextMenuBuilder(commandHandlerMock, treeNodeMock); + treeNodeMock.Expect(tn => tn.Nodes).Return(children); mocks.ReplayAll(); + var builder = new ContextMenuBuilder(commandHandlerMock, treeNodeMock); + // Call var result = builder.AddExpandAllItem().Build(); // Assert Assert.IsInstanceOf(result); Assert.AreEqual(1, result.Items.Count); - TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Expand_all, Resources.Expand_all_ToolTip, Resources.ExpandAllIcon, enabled); + TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Expand_all, Resources.Expand_all_ToolTip, Resources.ExpandAllIcon, hasChildren); + + mocks.VerifyAll(); } [Test] [TestCase(true)] [TestCase(false)] - public void AddCollapseAllItem_WhenBuild_ItemAddedToContextMenu(bool enabled) + public void AddCollapseAllItem_WhenBuild_ItemAddedToContextMenu(bool hasChildren) { // Setup var commandHandlerMock = mocks.StrictMock(); var treeNodeMock = mocks.StrictMock(); - IList childs = new List(); - if (enabled) + IList children = new List(); + if (hasChildren) { - childs.Add(treeNodeMock); + children.Add(treeNodeMock); } - treeNodeMock.Expect(tn => tn.Nodes).Return(childs); + treeNodeMock.Expect(tn => tn.Nodes).Return(children); mocks.ReplayAll(); @@ -174,19 +177,21 @@ Assert.IsInstanceOf(result); Assert.AreEqual(1, result.Items.Count); - TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Collapse_all, Resources.Collapse_all_ToolTip, Resources.CollapseAllIcon, enabled); + TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Collapse_all, Resources.Collapse_all_ToolTip, Resources.CollapseAllIcon, hasChildren); + + mocks.VerifyAll(); } [Test] [TestCase(true)] [TestCase(false)] - public void AddOpenItem_WhenBuild_ItemAddedToContextMenu(bool enabled) + public void AddOpenItem_WhenBuild_ItemAddedToContextMenu(bool hasViewForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); var treeNodeMock = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanOpenDefaultViewFor(null)).IgnoreArguments().Return(enabled); + commandHandlerMock.Expect(ch => ch.CanOpenDefaultViewFor(null)).IgnoreArguments().Return(hasViewForNodeData); mocks.ReplayAll(); @@ -201,43 +206,45 @@ Assert.IsInstanceOf(result); Assert.AreEqual(1, result.Items.Count); - TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Open, Resources.Open_ToolTip, Resources.OpenIcon, enabled); + TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Open, Resources.Open_ToolTip, Resources.OpenIcon, hasViewForNodeData); mocks.VerifyAll(); } [Test] [TestCase(true)] [TestCase(false)] - public void AddExportItem_WhenBuild_ItemAddedToContextMenu(bool enabled) + public void AddExportItem_WhenBuild_ItemAddedToContextMenu(bool hasExportersForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); - commandHandlerMock.Expect(ch => ch.CanExportFrom(null)).IgnoreArguments().Return(enabled); - var builder = new ContextMenuBuilder(commandHandlerMock, MockRepository.GenerateMock()); + commandHandlerMock.Expect(ch => ch.CanExportFrom(null)).IgnoreArguments().Return(hasExportersForNodeData); + var treeNodeMock = mocks.Stub(); mocks.ReplayAll(); + var builder = new ContextMenuBuilder(commandHandlerMock, treeNodeMock); + // Call var result = builder.AddExportItem().Build(); // Assert Assert.IsInstanceOf(result); Assert.AreEqual(1, result.Items.Count); - TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Export, Resources.Export_ToolTip, Resources.ExportIcon, enabled); + TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Export, Resources.Export_ToolTip, Resources.ExportIcon, hasExportersForNodeData); mocks.VerifyAll(); } [Test] [TestCase(true)] [TestCase(false)] - public void AddImportItem_WhenBuild_ItemAddedToContextMenu(bool enabled) + public void AddImportItem_WhenBuild_ItemAddedToContextMenu(bool hasImportersForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); - commandHandlerMock.Expect(ch => ch.CanImportOn(null)).IgnoreArguments().Return(enabled); + commandHandlerMock.Expect(ch => ch.CanImportOn(null)).IgnoreArguments().Return(hasImportersForNodeData); var treeNodeMock = mocks.Stub(); mocks.ReplayAll(); @@ -251,21 +258,21 @@ Assert.IsInstanceOf(result); Assert.AreEqual(1, result.Items.Count); - TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Import, Resources.Import_ToolTip, Resources.ImportIcon, enabled); + TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Import, Resources.Import_ToolTip, Resources.ImportIcon, hasImportersForNodeData); mocks.VerifyAll(); } [Test] [TestCase(true)] [TestCase(false)] - public void AddPropertiesItem_WhenBuild_ItemAddedToContextMenu(bool enabled) + public void AddPropertiesItem_WhenBuild_ItemAddedToContextMenu(bool hasPropertiesForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); var treeNodeMock = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanShowPropertiesFor(null)).IgnoreArguments().Return(enabled); + commandHandlerMock.Expect(ch => ch.CanShowPropertiesFor(null)).IgnoreArguments().Return(hasPropertiesForNodeData); mocks.ReplayAll(); @@ -278,7 +285,7 @@ Assert.IsInstanceOf(result); Assert.AreEqual(1, result.Items.Count); - TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Properties, Resources.Properties_ToolTip, Resources.PropertiesIcon, enabled); + TestHelper.AssertContextMenuStripContainsItem(result, 0, Resources.Properties, Resources.Properties_ToolTip, Resources.PropertiesIcon, hasPropertiesForNodeData); mocks.VerifyAll(); } @@ -303,6 +310,8 @@ Assert.AreEqual(1, result.Items.Count); Assert.AreSame(item, result.Items[0]); + + mocks.VerifyAll(); } [Test] @@ -322,6 +331,8 @@ // Assert Assert.IsInstanceOf(result); Assert.IsEmpty(result.Items); + + mocks.VerifyAll(); } [Test] @@ -345,6 +356,8 @@ Assert.AreEqual(1, result.Items.Count); Assert.IsInstanceOf(result.Items[0]); + + mocks.VerifyAll(); } [Test] @@ -369,6 +382,8 @@ Assert.AreEqual(3, result.Items.Count); Assert.IsInstanceOf(result.Items[1]); + + mocks.VerifyAll(); } [Test] @@ -390,6 +405,8 @@ // Assert Assert.IsInstanceOf(result); Assert.AreEqual(1, result.Items.Count); + + mocks.VerifyAll(); } } } \ No newline at end of file Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/GuiContextMenuItemFactoryTest.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Common/test/Core.Common.Gui.Test/ContextMenu/GuiContextMenuItemFactoryTest.cs (.../GuiContextMenuItemFactoryTest.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/GuiContextMenuItemFactoryTest.cs (.../GuiContextMenuItemFactoryTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -34,232 +34,162 @@ [Test] public void Constructor_WithoutTreeNode_ThrowsArgumentNullException() { - // Call - TestDelegate test = () => new GuiContextMenuItemFactory(mocks.StrictMock(), null); + // Setup + var guiCommandHandlerMock = mocks.StrictMock(); + mocks.ReplayAll(); + + // Call + TestDelegate test = () => new GuiContextMenuItemFactory(guiCommandHandlerMock, null); + // Assert var message = Assert.Throws(test).Message; StringAssert.StartsWith(Resources.ContextMenuItemFactory_Can_not_create_context_menu_items_without_tree_node, message); StringAssert.EndsWith("treeNode", message); - } - [Test] - public void Constructor_WithGuiAndTreeNode_NewInstance() - { - // Call - var result = new GuiContextMenuItemFactory(mocks.Stub(), mocks.Stub()); - - // Assert - Assert.IsInstanceOf(result); + mocks.VerifyAll(); } [Test] - public void CreateOpenItem_NoViewersForType_Disabled() + public void Constructor_WithGuiAndTreeNode_DoesNotThrow() { // Setup - var guiMock = mocks.StrictMock(); - var nodeStub = mocks.Stub(); - guiMock.Expect(ch => ch.CanOpenDefaultViewFor(null)).IgnoreArguments().Return(false); + var guiCommandHandlerMock = mocks.StrictMock(); + var treeNodeMock = mocks.Stub(); - var contextMenuFactory = new GuiContextMenuItemFactory(guiMock, nodeStub); - mocks.ReplayAll(); // Call - var item = contextMenuFactory.CreateOpenItem(); + TestDelegate test = () => new GuiContextMenuItemFactory(guiCommandHandlerMock, treeNodeMock); // Assert - Assert.AreEqual(Resources.Open, item.Text); - Assert.AreEqual(Resources.Open_ToolTip, item.ToolTipText); - TestHelper.AssertImagesAreEqual(Resources.OpenIcon, item.Image); - Assert.IsFalse(item.Enabled); + Assert.DoesNotThrow(test); + + mocks.VerifyAll(); } [Test] - public void CreateOpenItem_ViewersForType_Enabled() + [TestCase(true)] + [TestCase(false)] + public void CreateOpenItem_Always_Disabled(bool hasViewersForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanOpenDefaultViewFor(null)).IgnoreArguments().Return(true); + commandHandlerMock.Expect(ch => ch.CanOpenDefaultViewFor(null)).IgnoreArguments().Return(hasViewersForNodeData); + if (hasViewersForNodeData) + { + commandHandlerMock.Expect(ch => ch.OpenView(null)).IgnoreArguments(); + } - var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); - mocks.ReplayAll(); + var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); + // Call var item = contextMenuFactory.CreateOpenItem(); + item.PerformClick(); // Assert Assert.AreEqual(Resources.Open, item.Text); Assert.AreEqual(Resources.Open_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.OpenIcon, item.Image); - Assert.IsTrue(item.Enabled); - } + Assert.AreEqual(hasViewersForNodeData, item.Enabled); - [Test] - public void CreateExportItem_NoImporterExportersForType_Disabled() - { - // Setup - var commandHandlerMock = mocks.StrictMock(); - var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanExportFrom(null)).IgnoreArguments().Return(false); - - var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); - - mocks.ReplayAll(); - - // Call - var item = contextMenuFactory.CreateExportItem(); - - // Assert - Assert.AreEqual(Resources.Export, item.Text); - Assert.AreEqual(Resources.Export_ToolTip, item.ToolTipText); - TestHelper.AssertImagesAreEqual(Resources.ExportIcon, item.Image); - Assert.IsFalse(item.Enabled); - mocks.VerifyAll(); } [Test] - public void CreateExportItem_ExportersForType_Enabled() + [TestCase(true)] + [TestCase(false)] + public void CreateExportItem_Always_ItemWithPropertiesSet(bool hasExportersForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanExportFrom(null)).IgnoreArguments().Return(true); + commandHandlerMock.Expect(ch => ch.CanExportFrom(null)).IgnoreArguments().Return(hasExportersForNodeData); + if (hasExportersForNodeData) + { + commandHandlerMock.Expect(ch => ch.ExportFrom(null)).IgnoreArguments(); + } - var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); - mocks.ReplayAll(); + var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); + // Call var item = contextMenuFactory.CreateExportItem(); + item.PerformClick(); // Assert Assert.AreEqual(Resources.Export, item.Text); Assert.AreEqual(Resources.Export_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.ExportIcon, item.Image); - Assert.IsTrue(item.Enabled); + Assert.AreEqual(hasExportersForNodeData, item.Enabled); mocks.VerifyAll(); } [Test] - public void CreateImportItem_NoImportersForType_Disabled() + [TestCase(true)] + [TestCase(false)] + public void CreateImportItem_Always_ItemWithPropertiesSet(bool hasImportersForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanImportOn(null)).IgnoreArguments().Return(false); + commandHandlerMock.Expect(ch => ch.CanImportOn(null)).IgnoreArguments().Return(hasImportersForNodeData); + if (hasImportersForNodeData) + { + commandHandlerMock.Expect(ch => ch.ImportOn(null)).IgnoreArguments(); + } - var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); - mocks.ReplayAll(); - // Call - var item = contextMenuFactory.CreateImportItem(); - - // Assert - Assert.AreEqual(Resources.Import, item.Text); - Assert.AreEqual(Resources.Import_ToolTip, item.ToolTipText); - TestHelper.AssertImagesAreEqual(Resources.ImportIcon, item.Image); - Assert.IsFalse(item.Enabled); - - mocks.VerifyAll(); - } - - [Test] - public void CreateImportItem_ImportersForType_Enabled() - { - // Setup - var commandHandlerMock = mocks.StrictMock(); - var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanImportOn(null)).IgnoreArguments().Return(true); - var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); - mocks.ReplayAll(); - // Call var item = contextMenuFactory.CreateImportItem(); + item.PerformClick(); // Assert Assert.AreEqual(Resources.Import, item.Text); Assert.AreEqual(Resources.Import_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.ImportIcon, item.Image); - Assert.IsTrue(item.Enabled); + Assert.AreEqual(hasImportersForNodeData, item.Enabled); mocks.VerifyAll(); } [Test] - public void CreatePropertiesItem_PropertieInfoForType_Enabled() + [TestCase(true)] + [TestCase(false)] + public void CreatePropertiesItem_Always_ItemWithPropertiesSet(bool hasPropertyInfoForNodeData) { // Setup var commandHandlerMock = mocks.StrictMock(); var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanShowPropertiesFor(null)).IgnoreArguments().Return(true); + commandHandlerMock.Expect(ch => ch.CanShowPropertiesFor(null)).IgnoreArguments().Return(hasPropertyInfoForNodeData); + if (hasPropertyInfoForNodeData) + { + commandHandlerMock.Expect(ch => ch.ShowPropertiesFor(null)).IgnoreArguments(); + } var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); mocks.ReplayAll(); // Call var item = contextMenuFactory.CreatePropertiesItem(); + item.PerformClick(); // Assert Assert.AreEqual(Resources.Properties, item.Text); Assert.AreEqual(Resources.Properties_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.PropertiesIcon, item.Image); - Assert.IsTrue(item.Enabled); + Assert.AreEqual(hasPropertyInfoForNodeData, item.Enabled); mocks.VerifyAll(); } - - [Test] - public void CreatePropertiesItem_NoPropertieInfoForType_Disabled() - { - // Setup - var commandHandlerMock = mocks.StrictMock(); - var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanShowPropertiesFor(null)).IgnoreArguments().Return(false); - - var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); - - mocks.ReplayAll(); - - // Call - var item = contextMenuFactory.CreatePropertiesItem(); - - // Assert - Assert.AreEqual(Resources.Properties, item.Text); - Assert.AreEqual(Resources.Properties_ToolTip, item.ToolTipText); - TestHelper.AssertImagesAreEqual(Resources.PropertiesIcon, item.Image); - Assert.IsFalse(item.Enabled); - - mocks.VerifyAll(); - } - - [Test] - public void CreatePropertiesItem_ClickWithHandler_NoExceptions() - { - // Setup - var commandHandlerMock = mocks.StrictMock(); - var nodeStub = mocks.Stub(); - commandHandlerMock.Expect(ch => ch.CanShowPropertiesFor(null)).IgnoreArguments().Return(true); - commandHandlerMock.Expect(ch => ch.ShowPropertiesFor(null)).IgnoreArguments(); - - var contextMenuFactory = new GuiContextMenuItemFactory(commandHandlerMock, nodeStub); - - mocks.ReplayAll(); - - var item = contextMenuFactory.CreatePropertiesItem(); - - // Call & Assert - item.PerformClick(); - - mocks.VerifyAll(); - } } } \ No newline at end of file Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/StrictContextMenuItemTest.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Common/test/Core.Common.Gui.Test/ContextMenu/StrictContextMenuItemTest.cs (.../StrictContextMenuItemTest.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/StrictContextMenuItemTest.cs (.../StrictContextMenuItemTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -5,27 +5,26 @@ using NUnit.Framework; using Rhino.Mocks; -namespace Core.Common.Gui.Tests.ContextMenu +namespace Core.Common.Gui.Test.ContextMenu { [TestFixture] public class StrictContextMenuItemTest { - public interface IClick - { - void Click(); - } - [Test] public void Constructor_WithParameters_PropertiesSet() { // Setup + var mockRepository = new MockRepository(); + var text = "text"; var toolTip = "tooltip"; var image = Resources.ImportIcon; - var mock = MockRepository.GenerateStrictMock(); - mock.Expect(m => m.Click()); - EventHandler handler = (s,e) => mock.Click(); + var counter = 0; + mockRepository.ReplayAll(); + + EventHandler handler = (s, e) => counter++; + // Call var result = new StrictContextMenuItem(text,toolTip,image,handler); result.PerformClick(); @@ -34,7 +33,10 @@ Assert.IsInstanceOf(result); Assert.AreEqual(text, result.Text); Assert.AreEqual(toolTip, result.ToolTipText); + Assert.AreEqual(1, counter); TestHelper.AssertImagesAreEqual(image, result.Image); + + mockRepository.VerifyAll(); } } } \ No newline at end of file Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/TreeViewContextMenuItemFactoryTest.cs =================================================================== diff -u -rf8c052756f1c460774495e8724a2d9e049564ff3 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Common/test/Core.Common.Gui.Test/ContextMenu/TreeViewContextMenuItemFactoryTest.cs (.../TreeViewContextMenuItemFactoryTest.cs) (revision f8c052756f1c460774495e8724a2d9e049564ff3) +++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/TreeViewContextMenuItemFactoryTest.cs (.../TreeViewContextMenuItemFactoryTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -33,25 +33,26 @@ } [Test] - public void Constructor_WithTreeNode_NewInstance() + public void Constructor_WithTreeNode_DoesNotThrow() { - // Call + // Setup var strictMock = mocks.StrictMock(); mocks.ReplayAll(); + + // Call + TestDelegate test = () => new TreeViewContextMenuItemFactory(strictMock); - var result = new TreeViewContextMenuItemFactory(strictMock); - // Assert - Assert.IsInstanceOf(result); + Assert.DoesNotThrow(test); mocks.VerifyAll(); } [Test] [TestCase(true)] [TestCase(false)] - public void CreateDeleteItem_DependingOnCanDelete_ItemWithDeleteFunctionWillBeEnabled(bool enabled) + public void CreateDeleteItem_DependingOnCanDelete_ItemWithDeleteFunctionWillBeEnabled(bool canDelete) { // Setup var treeNodeMock = mocks.StrictMock(); @@ -65,9 +66,9 @@ treeNodeMock.Expect(tn => tn.Parent).Return(treeParentNodeMock); treeNodeMock.Expect(tn => tn.Tag).Return(arg2); treeParentNodeMock.Expect(tn => tn.Tag).Return(arg1); - treeNodePresenterMock.Expect(tnp => tnp.CanRemove(arg1, arg2)).Return(enabled); + treeNodePresenterMock.Expect(tnp => tnp.CanRemove(arg1, arg2)).Return(canDelete); - if (enabled) + if (canDelete) { treeNodeMock.Expect(tn => tn.TreeView).Return(treeViewMock); treeViewMock.Expect(tv => tv.TryDeleteSelectedNodeData()); @@ -85,7 +86,7 @@ Assert.AreEqual(Resources.Delete, item.Text); Assert.AreEqual(Resources.Delete_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.DeleteIcon, item.Image); - Assert.AreEqual(enabled, item.Enabled); + Assert.AreEqual(canDelete, item.Enabled); mocks.VerifyAll(); } @@ -94,20 +95,20 @@ [Test] [TestCase(true)] [TestCase(false)] - public void CreateExpandAllItem_DependingOnChildNodes_ItemWithExpandFunctionWillBeEnabled(bool enabled) + public void CreateExpandAllItem_DependingOnChildNodes_ItemWithExpandFunctionWillBeEnabled(bool hasChildren) { // Setup var treeNodeMock = mocks.StrictMock(); var treeViewMock = mocks.StrictMock(); - if (enabled) + if (hasChildren) { treeNodeMock.Expect(tn => tn.TreeView).Return(treeViewMock); treeViewMock.Expect(tv => tv.ExpandAll(treeNodeMock)); } var children = new List(); - if (enabled) + if (hasChildren) { children.Add(mocks.StrictMock()); } @@ -125,27 +126,27 @@ Assert.AreEqual(Resources.Expand_all, item.Text); Assert.AreEqual(Resources.Expand_all_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.ExpandAllIcon, item.Image); - Assert.AreEqual(enabled, item.Enabled); + Assert.AreEqual(hasChildren, item.Enabled); mocks.VerifyAll(); } [Test] [TestCase(true)] [TestCase(false)] - public void CreateCollapseAllItem_DependingOnChildNodes_ItemWithCollapseFunctionWillBeEnabled(bool enabled) + public void CreateCollapseAllItem_DependingOnChildNodes_ItemWithCollapseFunctionWillBeEnabled(bool hasChildren) { // Setup var treeNodeMock = mocks.StrictMock(); var treeViewMock = mocks.StrictMock(); - if (enabled) + if (hasChildren) { treeNodeMock.Expect(tn => tn.TreeView).Return(treeViewMock); treeViewMock.Expect(tv => tv.CollapseAll(treeNodeMock)); } var children = new List(); - if (enabled) + if (hasChildren) { children.Add(mocks.StrictMock()); } @@ -164,7 +165,7 @@ Assert.AreEqual(Resources.Collapse_all, item.Text); Assert.AreEqual(Resources.Collapse_all_ToolTip, item.ToolTipText); TestHelper.AssertImagesAreEqual(Resources.CollapseAllIcon, item.Image); - Assert.AreEqual(enabled, item.Enabled); + Assert.AreEqual(hasChildren, item.Enabled); mocks.VerifyAll(); } Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/Core.Plugins.ProjectExplorer.csproj =================================================================== diff -u -r95837098c8fbc25212797c64431f6f16496814b3 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Plugins/src/Core.Plugins.ProjectExplorer/Core.Plugins.ProjectExplorer.csproj (.../Core.Plugins.ProjectExplorer.csproj) (revision 95837098c8fbc25212797c64431f6f16496814b3) +++ Core/Plugins/src/Core.Plugins.ProjectExplorer/Core.Plugins.ProjectExplorer.csproj (.../Core.Plugins.ProjectExplorer.csproj) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -92,6 +92,7 @@ Properties\GlobalAssembly.cs + Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/Exceptions/ProjectExplorerGuiPluginException.cs =================================================================== diff -u --- Core/Plugins/src/Core.Plugins.ProjectExplorer/Exceptions/ProjectExplorerGuiPluginException.cs (revision 0) +++ Core/Plugins/src/Core.Plugins.ProjectExplorer/Exceptions/ProjectExplorerGuiPluginException.cs (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -0,0 +1,33 @@ +using System; + +namespace Core.Plugins.ProjectExplorer.Exceptions +{ + /// + /// The exception that is thrown when a file reader class encounters a critical error + /// during the read. + /// + public class ProjectExplorerGuiPluginException : Exception + { + /// + /// Initializes a new instance of the class. + /// + public ProjectExplorerGuiPluginException() {} + + /// + /// Initializes a new instance of the class + /// with a specified error message. + /// + /// The error message that explains the reason for the exception. + public ProjectExplorerGuiPluginException(string message) : base(message) {} + + /// + /// Initializes a new instance of the class + /// with a specified error message and a reference to the inner exception that is + /// the cause of this exception. + /// + /// The error message that explains the reason for the exception. + /// The exception that is the cause of the current exception, + /// or a null reference if no inner exception is specified. + public ProjectExplorerGuiPluginException(string message, Exception inner) : base(message, inner) {} + } +} \ No newline at end of file Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs (.../ProjectExplorerGuiPlugin.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs (.../ProjectExplorerGuiPlugin.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,10 +1,13 @@ +using System; using System.Collections.Generic; using System.Linq; using Core.Common.Base.Data; using Core.Common.Controls; using Core.Common.Gui; using Core.Common.Gui.Forms; +using Core.Common.Gui.Properties; using Core.Common.Utils.Collections; +using Core.Plugins.ProjectExplorer.Exceptions; using Core.Plugins.ProjectExplorer.NodePresenters; namespace Core.Plugins.ProjectExplorer @@ -27,6 +30,15 @@ } } + /// + /// Get the defined for the . + /// + /// An of . + /// Thrown when either: + /// + /// is null + /// is null + /// public override IEnumerable GetProjectTreeViewNodePresenters() { yield return new ProjectNodePresenter(Gui.ContextMenuProvider, Gui.CommandHandler); @@ -90,15 +102,23 @@ //should the 'instance' be set to null as well??? } + /// + /// Query all node presenters from and registers them + /// private void FillProjectTreeViewNodePresentersFromPlugins() { - // query all existing plugin guis var pluginGuis = Gui.Plugins; - // query all node presenters from plugin guis and add register them - pluginGuis - .SelectMany(pluginGui => pluginGui.GetProjectTreeViewNodePresenters()) - .ForEach(np => projectTreeViewNodePresenters.Add(np)); + try + { + pluginGuis + .SelectMany(pluginGui => pluginGui.GetProjectTreeViewNodePresenters()) + .ForEach(np => projectTreeViewNodePresenters.Add(np)); + } + catch (ArgumentNullException e) + { + throw new ProjectExplorerGuiPluginException(Resources.ProjectExplorerGuiPlugin_FillProjectTreeViewNodePresentersFromPlugins_Could_not_retrieve_NodePresenters_for_a_plugin, e); + } } private void ApplicationProjectClosed(Project project) Index: Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/Core.Plugins.ProjectExplorer.Test.csproj =================================================================== diff -u -rb5ea48631445312a26944f9d979c34b9132d16e7 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/Core.Plugins.ProjectExplorer.Test.csproj (.../Core.Plugins.ProjectExplorer.Test.csproj) (revision b5ea48631445312a26944f9d979c34b9132d16e7) +++ Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/Core.Plugins.ProjectExplorer.Test.csproj (.../Core.Plugins.ProjectExplorer.Test.csproj) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -43,7 +43,7 @@ full - none + none bin\Release\ 4 x86 @@ -81,6 +81,7 @@ + Index: Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/Exceptions/ProjectExplorerGuiPluginExceptionTest.cs =================================================================== diff -u --- Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/Exceptions/ProjectExplorerGuiPluginExceptionTest.cs (revision 0) +++ Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/Exceptions/ProjectExplorerGuiPluginExceptionTest.cs (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -0,0 +1,70 @@ +using System; +using Core.Plugins.ProjectExplorer.Exceptions; +using NUnit.Framework; + +namespace Core.Plugins.ProjectExplorer.Test.Exceptions +{ + [TestFixture] + public class RingtoetsPipingSurfaceLineExceptionExceptionTest + { + [Test] + [SetCulture("en-US")] + public void DefaultConstructor_ExpectedValues() + { + // Call + var exception = new ProjectExplorerGuiPluginException(); + + // Assert + Assert.IsInstanceOf(exception); + var expectedMessage = string.Format("Exception of type '{0}' was thrown.", exception.GetType()); + Assert.AreEqual(expectedMessage, exception.Message); + CollectionAssert.IsEmpty(exception.Data); + Assert.IsNull(exception.HelpLink); + Assert.IsNull(exception.InnerException); + Assert.IsNull(exception.Source); + Assert.IsNull(exception.StackTrace); + Assert.IsNull(exception.TargetSite); + } + + [Test] + public void MessageConstructor_ExpectedValues() + { + // Setup + const string messageText = ""; + + // Call + var exception = new ProjectExplorerGuiPluginException(messageText); + + // Assert + Assert.IsInstanceOf(exception); + Assert.AreEqual(messageText, exception.Message); + CollectionAssert.IsEmpty(exception.Data); + Assert.IsNull(exception.HelpLink); + Assert.IsNull(exception.InnerException); + Assert.IsNull(exception.Source); + Assert.IsNull(exception.StackTrace); + Assert.IsNull(exception.TargetSite); + } + + [Test] + public void MessageAndInnerExceptionConstructor_ExpectedValues() + { + // Setup + var innerException = new Exception(); + const string messageText = ""; + + // Call + var exception = new ProjectExplorerGuiPluginException(messageText, innerException); + + // Assert + Assert.IsInstanceOf(exception); + Assert.AreEqual(messageText, exception.Message); + CollectionAssert.IsEmpty(exception.Data); + Assert.IsNull(exception.HelpLink); + Assert.AreEqual(innerException, exception.InnerException); + Assert.IsNull(exception.Source); + Assert.IsNull(exception.StackTrace); + Assert.IsNull(exception.TargetSite); + } + } +} \ No newline at end of file Index: Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/NodePresenters/ProjectNodePresenterTest.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/NodePresenters/ProjectNodePresenterTest.cs (.../ProjectNodePresenterTest.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/NodePresenters/ProjectNodePresenterTest.cs (.../ProjectNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,12 +1,8 @@ using System; -using System.Collections.Generic; -using System.Windows.Forms; -using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Controls; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; -using Core.Common.Gui.TestUtils; using Core.Common.Gui.TestUtils.ContextMenu; using Core.Common.TestUtils; using Core.Plugins.ProjectExplorer.NodePresenters; @@ -44,23 +40,39 @@ [Test] public void Constructor_NoCommandHandlerProvider_ArgumentNullException() { + // Setup + var contextMenuBuilderProviderMock = mocks.StrictMock(); + + mocks.ReplayAll(); + // Call - TestDelegate test = () => new ProjectNodePresenter(mocks.StrictMock(), null); + TestDelegate test = () => new ProjectNodePresenter(contextMenuBuilderProviderMock, null); + // Assert var message = Assert.Throws(test).Message; StringAssert.StartsWith(CommonGuiResources.NodePresenter_CommandHandler_required, message); StringAssert.EndsWith("commandHandler", message); + + mocks.VerifyAll(); } [Test] - public void Constructor_WithParamsSet_NewInstance() + public void Constructor_WithParamsSet_DoesNotThrow() { + // Setup + var contextMenuBuilderProviderMock = mocks.StrictMock(); + var guiCommandHandler = mocks.StrictMock(); + + mocks.ReplayAll(); + // Call - var result = new ProjectNodePresenter(mocks.StrictMock(), mocks.StrictMock()); + TestDelegate test = () => new ProjectNodePresenter(contextMenuBuilderProviderMock, guiCommandHandler); // Assert - Assert.IsInstanceOf(result); + Assert.DoesNotThrow(test); + + mocks.VerifyAll(); } [Test] Index: Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/ProjectExplorerPluginGuiTest.cs =================================================================== diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/ProjectExplorerPluginGuiTest.cs (.../ProjectExplorerPluginGuiTest.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852) +++ Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/ProjectExplorerPluginGuiTest.cs (.../ProjectExplorerPluginGuiTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -39,20 +39,20 @@ gui.Expect(g => g.ProjectOpened -= Arg>.Is.Anything).Repeat.Any(); gui.Expect(g => g.ProjectClosing += Arg>.Is.Anything).Repeat.Any(); gui.Expect(g => g.ProjectClosing -= Arg>.Is.Anything).Repeat.Any(); - Expect.Call(gui.ToolWindowViews).Return(mocks.Stub()).Repeat.Any(); - Expect.Call(gui.DocumentViews).Return(mocks.Stub()).Repeat.Any(); - Expect.Call(gui.Plugins).Return(new List + gui.Expect(g => g.ToolWindowViews).Return(mocks.Stub()).Repeat.Any(); + gui.Expect(g => g.DocumentViews).Return(mocks.Stub()).Repeat.Any(); + gui.Expect(g => g.Plugins).Return(new List { projectExplorerPluginGui, pluginGui }).Repeat.Any(); - Expect.Call(gui.ContextMenuProvider).Return(mocks.StrictMock()).Repeat.Any(); + gui.Expect(g => g.ContextMenuProvider).Return(mocks.StrictMock()).Repeat.Any(); gui.CommandHandler = mocks.StrictMock(); gui.Project = project; //create and register a custom np mockNodePresenter = mocks.Stub(); - Expect.Call(pluginGui.GetProjectTreeViewNodePresenters()).Return(new[] + pluginGui.Expect(g => g.GetProjectTreeViewNodePresenters()).Return(new[] { mockNodePresenter }); Fisheye: Tag 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e refers to a dead (removed) revision in file `Ringtoets/Common/src/Ringtoets.Common.Forms/Extensions/ContextMenuStripExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/CategoryTreeFolderNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/CategoryTreeFolderNodePresenter.cs (.../CategoryTreeFolderNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/CategoryTreeFolderNodePresenter.cs (.../CategoryTreeFolderNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -14,7 +14,14 @@ /// public class CategoryTreeFolderNodePresenter : RingtoetsNodePresenterBase { - public CategoryTreeFolderNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public CategoryTreeFolderNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, CategoryTreeFolder nodeData) { Index: Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/RingtoetsNodePresenterBase.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/RingtoetsNodePresenterBase.cs (.../RingtoetsNodePresenterBase.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/RingtoetsNodePresenterBase.cs (.../RingtoetsNodePresenterBase.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -27,6 +27,7 @@ /// /// The /// to use for building a . + /// Thrown when no was provided. public RingtoetsNodePresenterBase(IContextMenuBuilderProvider contextMenuBuilderProvider) { if (contextMenuBuilderProvider == null) Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r8edb2d095875f04c7378a1da9361fb1c266828e2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 8edb2d095875f04c7378a1da9361fb1c266828e2) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -43,7 +43,6 @@ Properties\GlobalAssembly.cs - Fisheye: Tag 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Extensions/ContextMenuStripExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/NodePresenters/RingtoetsNodePresenterBaseTest.cs =================================================================== diff -u -r6aa508233ca39077a4a10ec8275619d61ddab47b -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/NodePresenters/RingtoetsNodePresenterBaseTest.cs (.../RingtoetsNodePresenterBaseTest.cs) (revision 6aa508233ca39077a4a10ec8275619d61ddab47b) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/NodePresenters/RingtoetsNodePresenterBaseTest.cs (.../RingtoetsNodePresenterBaseTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -19,13 +19,11 @@ public class RingtoetsNodePresenterBaseTest { private MockRepository mockRepository; - private IContextMenuBuilderProvider contextMenuBuilderProviderMock; [SetUp] public void SetUp() { mockRepository = new MockRepository(); - contextMenuBuilderProviderMock = mockRepository.StrictMock(); } [Test] @@ -43,41 +41,47 @@ [Test] public void Constructor_ParamsSet_ExpectedValues() { + // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + // Call var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Assert Assert.AreEqual(typeof(double), nodePresenter.NodeTagType); Assert.IsNull(nodePresenter.TreeView); + + mockRepository.VerifyAll(); } [Test] public void UpdateNode_WithData_DoNothing() { // Setup - var mocks = new MockRepository(); - var parentNode = mocks.StrictMock(); - var pipingNode = mocks.StrictMock(); - var nodeData = mocks.StrictMock(); - mocks.ReplayAll(); + var parentNode = mockRepository.StrictMock(); + var pipingNode = mockRepository.StrictMock(); + var nodeData = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call nodePresenter.UpdateNode(parentNode, pipingNode, nodeData); // Assert - mocks.VerifyAll(); // Expect no calls on mocks + mockRepository.VerifyAll(); // Expect no calls on mocks } [Test] public void GetChildNodeObjects_Always_ReturnNoChildData() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - var dataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); @@ -86,16 +90,16 @@ // Assert CollectionAssert.IsEmpty(children); - mocks.VerifyAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void CanRenameNode_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var nodeMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); @@ -104,16 +108,16 @@ // Assert Assert.IsFalse(renameAllowed); - mocks.VerifyAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void CanRenameNodeTo_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var nodeMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); @@ -122,16 +126,16 @@ // Assert Assert.IsFalse(renameAllowed); - mocks.ReplayAll(); // Expect no calls on tree node + mockRepository.ReplayAll(); // Expect no calls on tree node } [Test] public void OnNodeRenamed_Always_ThrowInvalidOperationException() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); @@ -142,33 +146,33 @@ var exception = Assert.Throws(call); var expectedMessage = string.Format("Kan knoop uit boom van type {0} niet hernoemen.", nodePresenter.GetType().Name); Assert.AreEqual(expectedMessage, exception.Message); - mocks.ReplayAll(); // Expect no calls on tree node + mockRepository.ReplayAll(); // Expect no calls on tree node } [Test] public void OnNodeChecked_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var nodeMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call nodePresenter.OnNodeChecked(nodeMock); // Assert - mocks.VerifyAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void CanDrag_Always_ReturnNone() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); @@ -177,18 +181,18 @@ // Assert Assert.AreEqual(DragOperations.None, dragAllowed); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void CanDrop_Always_ReturnNone() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - var sourceMock = mocks.StrictMock(); - var targetMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var sourceMock = mockRepository.StrictMock(); + var targetMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); @@ -197,18 +201,18 @@ // Assert Assert.AreEqual(DragOperations.None, dropAllowed); - mocks.VerifyAll(); // Expect no calls on mocks. + mockRepository.VerifyAll(); // Expect no calls on mockRepository. } [Test] public void CanInsert_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - var sourceMock = mocks.StrictMock(); - var targetMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var sourceMock = mockRepository.StrictMock(); + var targetMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); @@ -217,124 +221,131 @@ // Assert Assert.IsFalse(insertionAllowed); - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void OnDragDrop_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - var sourceParentNodeMock = mocks.StrictMock(); - var targetParentNodeDataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var sourceParentNodeMock = mockRepository.StrictMock(); + var targetParentNodeDataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call nodePresenter.OnDragDrop(dataMock, sourceParentNodeMock, targetParentNodeDataMock, DragOperations.Move, 2); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void OnNodeSelected_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call nodePresenter.OnNodeSelected(dataMock); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void GetContextMenu_Always_ReturnsNull() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - var dataMock = mocks.StrictMock(); + var nodeMock = mockRepository.StrictMock(); + var dataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); - mocks.ReplayAll(); - // Call var contextMenu = nodePresenter.GetContextMenu(nodeMock, dataMock); // Assert Assert.IsNull(contextMenu); - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void OnPropertyChange_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - var nodeMock = mocks.StrictMock(); - var eventArgsMock = mocks.StrictMock(""); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var nodeMock = mockRepository.StrictMock(); + var eventArgsMock = mockRepository.StrictMock(""); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call nodePresenter.OnPropertyChanged(dataMock, nodeMock, eventArgsMock); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void OnCollectionChange_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - var eventArgsMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var eventArgsMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call nodePresenter.OnCollectionChanged(dataMock, eventArgsMock); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void CanRemove_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call bool removalAllowed = nodePresenter.CanRemove(null, dataMock); // Assert Assert.IsFalse(removalAllowed); - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void RemoveNodeData_Always_ThrowInvalidOperationException() { // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + var nodePresenter = new SimpleRingtoetsNodePresenterBase(contextMenuBuilderProviderMock); // Call @@ -343,6 +354,8 @@ // Assert var exception = Assert.Throws(call); Assert.AreEqual(String.Format("Kan knoop uit boom van type {0} niet verwijderen.", nodePresenter.GetType().Name), exception.Message); + + mockRepository.VerifyAll(); } private class SimpleRingtoetsNodePresenterBase : RingtoetsNodePresenterBase Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj =================================================================== diff -u -r7a8e3d1718cb12c53c2b0573b056037ed02e9913 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 7a8e3d1718cb12c53c2b0573b056037ed02e9913) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -54,7 +54,6 @@ - Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/AssessmentSectionBaseNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/AssessmentSectionBaseNodePresenter.cs (.../AssessmentSectionBaseNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/AssessmentSectionBaseNodePresenter.cs (.../AssessmentSectionBaseNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Collections; +using System; +using System.Collections; using System.Drawing; using System.Windows.Forms; using Core.Common.Base.Data; @@ -15,7 +16,14 @@ /// public class AssessmentSectionBaseNodePresenter : RingtoetsNodePresenterBase { - public AssessmentSectionBaseNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public AssessmentSectionBaseNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } public override bool CanRenameNode(ITreeNode node) { Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/FailureMechanismNodePresenter.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/FailureMechanismNodePresenter.cs (.../FailureMechanismNodePresenter.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/FailureMechanismNodePresenter.cs (.../FailureMechanismNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Collections; +using System; +using System.Collections; using System.Drawing; using System.Windows.Forms; using Core.Common.Controls; @@ -15,6 +16,13 @@ { public class FailureMechanismNodePresenter : RingtoetsNodePresenterBase { + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. public FailureMechanismNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, FailureMechanismPlaceholder nodeData) Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/PlaceholderWithReadonlyNameNodePresenter.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/PlaceholderWithReadonlyNameNodePresenter.cs (.../PlaceholderWithReadonlyNameNodePresenter.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/PlaceholderWithReadonlyNameNodePresenter.cs (.../PlaceholderWithReadonlyNameNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Drawing; +using System; +using System.Drawing; using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; @@ -15,7 +16,14 @@ /// public class PlaceholderWithReadonlyNameNodePresenter : RingtoetsNodePresenterBase { - public PlaceholderWithReadonlyNameNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PlaceholderWithReadonlyNameNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PlaceholderWithReadonlyName nodeData) { @@ -30,6 +38,11 @@ if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder) { + menuBuilder.AddOpenItem(); + } + + if (nodeData is OutputPlaceholder) + { var clearItem = new StrictContextMenuItem( RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase_ToolTip, @@ -39,11 +52,13 @@ Enabled = false }; - menuBuilder.AddOpenItem() - .AddCustomItem(clearItem) - .AddSeparator(); + menuBuilder.AddCustomItem(clearItem); } + if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder) + { + menuBuilder.AddSeparator(); + } return menuBuilder.AddImportItem() .AddExportItem() .AddSeparator() Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using Core.Common.Controls; using Core.Common.Gui; @@ -29,6 +30,11 @@ yield return new PropertyInfo(); } + /// + /// Get the defined for the . + /// + /// An of . + /// Thrown when is null. public override IEnumerable GetProjectTreeViewNodePresenters() { yield return new AssessmentSectionBaseNodePresenter(Gui.ContextMenuProvider); Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/PlaceholderWithReadonlyNameNodePresenterTest.cs =================================================================== diff -u -r6aa508233ca39077a4a10ec8275619d61ddab47b -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/PlaceholderWithReadonlyNameNodePresenterTest.cs (.../PlaceholderWithReadonlyNameNodePresenterTest.cs) (revision 6aa508233ca39077a4a10ec8275619d61ddab47b) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/PlaceholderWithReadonlyNameNodePresenterTest.cs (.../PlaceholderWithReadonlyNameNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -222,7 +222,6 @@ var nodeMock = mocks.StrictMock(); menuBuilderMock.Expect(mb => mb.AddOpenItem()).IgnoreArguments().Return(menuBuilderMock); - menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); menuBuilderMock.Expect(mb => mb.AddImportItem()).Return(menuBuilderMock); menuBuilderMock.Expect(mb => mb.AddExportItem()).Return(menuBuilderMock); Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (.../RingtoetsGuiPluginTest.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (.../RingtoetsGuiPluginTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -59,8 +59,8 @@ var guiStub = mocks.DynamicMultiMock(typeof(IGui), typeof(IContextMenuBuilderProvider)); var contextMenuProviderMock = mocks.DynamicMock(); - Expect.Call(guiStub.ApplicationCore).Return(applicationCore).Repeat.Any(); - Expect.Call(guiStub.ContextMenuProvider).Return(contextMenuProviderMock).Repeat.Any(); + guiStub.Expect(g => g.ApplicationCore).Return(applicationCore).Repeat.Any(); + guiStub.Expect(g => g.ContextMenuProvider).Return(contextMenuProviderMock).Repeat.Any(); mocks.ReplayAll(); Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/EmptyPipingCalculationReportNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/EmptyPipingCalculationReportNodePresenter.cs (.../EmptyPipingCalculationReportNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/EmptyPipingCalculationReportNodePresenter.cs (.../EmptyPipingCalculationReportNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,6 @@ -using System.Drawing; +using System; +using System.Drawing; +using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; using Ringtoets.Common.Forms.NodePresenters; @@ -16,7 +18,14 @@ /// public class EmptyPipingCalculationReportNodePresenter : RingtoetsNodePresenterBase { - public EmptyPipingCalculationReportNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public EmptyPipingCalculationReportNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, EmptyPipingCalculationReport nodeData) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/EmptyPipingOutputNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/EmptyPipingOutputNodePresenter.cs (.../EmptyPipingOutputNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/EmptyPipingOutputNodePresenter.cs (.../EmptyPipingOutputNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -13,7 +13,14 @@ /// public class EmptyPipingOutputNodePresenter : RingtoetsNodePresenterBase { - public EmptyPipingOutputNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public EmptyPipingOutputNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, EmptyPipingOutput nodeData) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationContextNodePresenter.cs =================================================================== diff -u -r2e162fe8f639b0c637a5cbfe1c2f1a9236741072 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationContextNodePresenter.cs (.../PipingCalculationContextNodePresenter.cs) (revision 2e162fe8f639b0c637a5cbfe1c2f1a9236741072) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationContextNodePresenter.cs (.../PipingCalculationContextNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -21,7 +21,14 @@ /// public class PipingCalculationContextNodePresenter : RingtoetsNodePresenterBase { - public PipingCalculationContextNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingCalculationContextNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } /// /// Injection points for a method to cause an to be scheduled for execution. Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationGroupContextNodePresenter.cs =================================================================== diff -u -r2e162fe8f639b0c637a5cbfe1c2f1a9236741072 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationGroupContextNodePresenter.cs (.../PipingCalculationGroupContextNodePresenter.cs) (revision 2e162fe8f639b0c637a5cbfe1c2f1a9236741072) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationGroupContextNodePresenter.cs (.../PipingCalculationGroupContextNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -25,7 +25,14 @@ /// public class PipingCalculationGroupContextNodePresenter : RingtoetsNodePresenterBase { - public PipingCalculationGroupContextNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingCalculationGroupContextNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } /// /// Injection points for a method to cause an to be scheduled for execution. Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingFailureMechanismNodePresenter.cs =================================================================== diff -u -r2e162fe8f639b0c637a5cbfe1c2f1a9236741072 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingFailureMechanismNodePresenter.cs (.../PipingFailureMechanismNodePresenter.cs) (revision 2e162fe8f639b0c637a5cbfe1c2f1a9236741072) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingFailureMechanismNodePresenter.cs (.../PipingFailureMechanismNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -26,7 +26,14 @@ /// public class PipingFailureMechanismNodePresenter : RingtoetsNodePresenterBase { - public PipingFailureMechanismNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingFailureMechanismNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } /// /// Injection points for a method to cause a collection of to be scheduled for execution. Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingInputContextNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingInputContextNodePresenter.cs (.../PipingInputContextNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingInputContextNodePresenter.cs (.../PipingInputContextNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Drawing; +using System; +using System.Drawing; using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; @@ -13,7 +14,14 @@ /// public class PipingInputContextNodePresenter : RingtoetsNodePresenterBase { - public PipingInputContextNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingInputContextNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PipingInputContext nodeData) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingOutputNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingOutputNodePresenter.cs (.../PipingOutputNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingOutputNodePresenter.cs (.../PipingOutputNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Drawing; +using System; +using System.Drawing; using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; @@ -16,7 +17,14 @@ /// public class PipingOutputNodePresenter : RingtoetsNodePresenterBase { - public PipingOutputNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingOutputNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PipingOutput nodeData) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSoilProfileCollectionNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSoilProfileCollectionNodePresenter.cs (.../PipingSoilProfileCollectionNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSoilProfileCollectionNodePresenter.cs (.../PipingSoilProfileCollectionNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Collections; +using System; +using System.Collections; using System.Collections.Generic; using System.Drawing; using System.Linq; @@ -17,7 +18,14 @@ /// public class PipingSoilProfileCollectionNodePresenter : RingtoetsNodePresenterBase> { - public PipingSoilProfileCollectionNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingSoilProfileCollectionNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, IEnumerable pipingSoilProfiles) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSoilProfileNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSoilProfileNodePresenter.cs (.../PipingSoilProfileNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSoilProfileNodePresenter.cs (.../PipingSoilProfileNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,6 @@ -using System.Drawing; +using System; +using System.Drawing; +using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; using Ringtoets.Common.Forms.NodePresenters; @@ -9,7 +11,14 @@ { public class PipingSoilProfileNodePresenter : RingtoetsNodePresenterBase { - public PipingSoilProfileNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingSoilProfileNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PipingSoilProfile nodeData) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSurfaceLineCollectionNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSurfaceLineCollectionNodePresenter.cs (.../PipingSurfaceLineCollectionNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSurfaceLineCollectionNodePresenter.cs (.../PipingSurfaceLineCollectionNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Collections; +using System; +using System.Collections; using System.Collections.Generic; using System.Drawing; using System.Linq; @@ -17,7 +18,14 @@ /// public class PipingSurfaceLineCollectionNodePresenter : RingtoetsNodePresenterBase> { - public PipingSurfaceLineCollectionNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingSurfaceLineCollectionNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, IEnumerable nodeData) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSurfaceLineNodePresenter.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSurfaceLineNodePresenter.cs (.../PipingSurfaceLineNodePresenter.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingSurfaceLineNodePresenter.cs (.../PipingSurfaceLineNodePresenter.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,6 @@ -using System.Drawing; +using System; +using System.Drawing; +using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; using Ringtoets.Common.Forms.NodePresenters; @@ -12,7 +14,14 @@ /// public class PipingSurfaceLineNodePresenter : RingtoetsNodePresenterBase { - public PipingSurfaceLineNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) {} + /// + /// Creates a new instance of , which uses the + /// to create and bind its . + /// + /// The + /// to use for building a . + /// Thrown when no was provided. + public PipingSurfaceLineNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { } protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, RingtoetsPipingSurfaceLine nodeData) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r2e162fe8f639b0c637a5cbfe1c2f1a9236741072 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 2e162fe8f639b0c637a5cbfe1c2f1a9236741072) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using Core.Common.Controls; using Core.Common.Gui; using Core.Common.Gui.Forms; @@ -31,6 +32,11 @@ yield return new PropertyInfo(); } + /// + /// Get the defined for the . + /// + /// An of . + /// Thrown when is null. public override IEnumerable GetProjectTreeViewNodePresenters() { yield return new PipingFailureMechanismNodePresenter(Gui.ContextMenuProvider) Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/EmptyPipingCalculationReportNodePresenterTest.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/EmptyPipingCalculationReportNodePresenterTest.cs (.../EmptyPipingCalculationReportNodePresenterTest.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/EmptyPipingCalculationReportNodePresenterTest.cs (.../EmptyPipingCalculationReportNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -22,13 +22,11 @@ public class EmptyPipingCalculationReportNodePresenterTest { private MockRepository mockRepository; - private IContextMenuBuilderProvider contextMenuBuilderProviderMock; [SetUp] public void SetUp() { mockRepository = new MockRepository(); - contextMenuBuilderProviderMock = mockRepository.StrictMock(); } @@ -48,23 +46,30 @@ public void Constructor_WithParamsSet_NewInstance() { // Call + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + var nodePresenter = new EmptyPipingCalculationReportNodePresenter(contextMenuBuilderProviderMock); // Assert Assert.IsInstanceOf>(nodePresenter); Assert.AreEqual(typeof(EmptyPipingCalculationReport), nodePresenter.NodeTagType); Assert.IsNull(nodePresenter.TreeView); + + mockRepository.VerifyAll(); } [Test] public void UpdateNode_Always_MimickSameBehaviorAsPipingCalculationReportNodePresenterWithGreyedText() { // Setup - var mocks = new MockRepository(); - var parentNode = mocks.StrictMock(); - var reportNode = mocks.Stub(); - mocks.ReplayAll(); + var parentNode = mockRepository.StrictMock(); + var reportNode = mockRepository.Stub(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new EmptyPipingCalculationReportNodePresenter(contextMenuBuilderProviderMock); // Call @@ -74,43 +79,45 @@ Assert.AreEqual("Berekeningsverslag", reportNode.Text); Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), reportNode.ForegroundColor); TestHelper.AssertImagesAreEqual(PipingFormsResources.PipingCalculationReportIcon, reportNode.Image); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void CanRenameNode_Always_MimickSameBehaviorAsPipingCalculationReportNodePresenter() { // Setup - var mocks = new MockRepository(); - var reportNode = mocks.StrictMock(); - mocks.ReplayAll(); + var reportNode = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new EmptyPipingCalculationReportNodePresenter(contextMenuBuilderProviderMock); // Call var isRenamingAllowed = nodePresenter.CanRenameNode(reportNode); // Assert Assert.IsFalse(isRenamingAllowed); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void CanRemove_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var reportNode = mocks.StrictMock(); - mocks.ReplayAll(); + var reportNode = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new EmptyPipingCalculationReportNodePresenter(contextMenuBuilderProviderMock); // Call var isRenamingAllowed = nodePresenter.CanRenameNode(reportNode); // Assert Assert.IsFalse(isRenamingAllowed, "EmptyCalculationReport instance represents an absent report, therefore removal should be impossible."); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/EmptyPipingOutputNodePresenterTest.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/EmptyPipingOutputNodePresenterTest.cs (.../EmptyPipingOutputNodePresenterTest.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/EmptyPipingOutputNodePresenterTest.cs (.../EmptyPipingOutputNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -22,13 +22,11 @@ public class EmptyPipingOutputNodePresenterTest { private MockRepository mockRepository; - private IContextMenuBuilderProvider contextMenuBuilderProviderMock; [SetUp] public void SetUp() { mockRepository = new MockRepository(); - contextMenuBuilderProviderMock = mockRepository.StrictMock(); } [Test] @@ -46,24 +44,31 @@ [Test] public void Constructor_WithParamsSet_NewInstance() { + // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + // Call var nodePresenter = new EmptyPipingOutputNodePresenter(contextMenuBuilderProviderMock); // Assert Assert.IsInstanceOf>(nodePresenter); Assert.AreEqual(typeof(EmptyPipingOutput), nodePresenter.NodeTagType); Assert.IsNull(nodePresenter.TreeView); + + mockRepository.VerifyAll(); } [Test] public void UpdateNode_Always_InitializeNodeSimilarlyToPipingOutputNodePresenterWithGreyedText() { // Setup - var mocks = new MockRepository(); - var parentTreeNode = mocks.StrictMock(); - var outputTreeNode = mocks.Stub(); - var expectedOutputTreeNode = mocks.Stub(); - mocks.ReplayAll(); + var parentTreeNode = mockRepository.StrictMock(); + var outputTreeNode = mockRepository.Stub(); + var expectedOutputTreeNode = mockRepository.Stub(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new EmptyPipingOutputNodePresenter(contextMenuBuilderProviderMock); @@ -76,17 +81,16 @@ Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), outputTreeNode.ForegroundColor); TestHelper.AssertImagesAreEqual(expectedOutputTreeNode.Image, outputTreeNode.Image); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void CanRenameNode_Always_MimickBehaviorOfPipingOutputNodePresenter() { // Setup - var mocks = new MockRepository(); - var outputTreeNode = mocks.StrictMock(); - var contextMenuBuilderProviderMock = mocks.StrictMock(); - mocks.ReplayAll(); + var outputTreeNode = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new EmptyPipingOutputNodePresenter(contextMenuBuilderProviderMock); @@ -99,16 +103,16 @@ var expectedValue = referenceNodePresenter.CanRenameNode(outputTreeNode); Assert.AreEqual(expectedValue, isRenamingAllowed); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void CanRemove_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var parentDataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var parentDataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new EmptyPipingOutputNodePresenter(contextMenuBuilderProviderMock); @@ -118,7 +122,7 @@ // Assert Assert.IsFalse(isRemovalAllowed, "EmptyPipingOutput represents no output, therefore there's nothing to remove."); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationContextNodePresenterTest.cs =================================================================== diff -u -r2e162fe8f639b0c637a5cbfe1c2f1a9236741072 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationContextNodePresenterTest.cs (.../PipingCalculationContextNodePresenterTest.cs) (revision 2e162fe8f639b0c637a5cbfe1c2f1a9236741072) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationContextNodePresenterTest.cs (.../PipingCalculationContextNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -8,11 +8,10 @@ using Core.Common.Base; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; -using Core.Common.Gui.TestUtils; using Core.Common.Gui.TestUtils.ContextMenu; using NUnit.Framework; using Rhino.Mocks; - +using Ringtoets.Common.Forms.NodePresenters; using Ringtoets.Piping.Data; using Ringtoets.Piping.Calculation.TestUtil; using Ringtoets.Piping.Forms.NodePresenters; @@ -50,11 +49,20 @@ [Test] public void Constructor_WithParamsSet_NewInstance() { + // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + // Call - var result = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var nodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProviderMock); // Assert - Assert.IsInstanceOf(result); + Assert.IsInstanceOf>(nodePresenter); + Assert.AreEqual(typeof(PipingCalculationContext), nodePresenter.NodeTagType); + Assert.IsNull(nodePresenter.TreeView); + + mockRepository.VerifyAll(); } [Test] @@ -64,11 +72,11 @@ const string nodeName = ""; var pipingNode = mockRepository.Stub(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); var calculation = new PipingCalculation { @@ -79,22 +87,25 @@ Enumerable.Empty()); // Call - nodePresenter.UpdateNode(null, pipingNode, pipingCalculationContext); + pipingCalculationContextNodePresenter.UpdateNode(null, pipingNode, pipingCalculationContext); // Assert Assert.AreEqual(nodeName, pipingNode.Text); TestHelper.AssertImagesAreEqual(PipingFormsResources.PipingIcon, pipingNode.Image); + + mockRepository.VerifyAll(); } [Test] public void GetChildNodeObjects_WithOutputData_ReturnOutputChildNode() { // Setup - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); + mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; - + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); + var calculation = new PipingCalculation { Output = new PipingOutput(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) @@ -110,7 +121,7 @@ }); // Call - var children = nodePresenter.GetChildNodeObjects(pipingCalculationContext).OfType().ToArray(); + var children = pipingCalculationContextNodePresenter.GetChildNodeObjects(pipingCalculationContext).OfType().ToArray(); // Assert Assert.AreEqual(4, children.Length); @@ -127,10 +138,11 @@ public void GetChildNodeObjects_WithoutOutput_ReturnNoChildNodes() { // Setup - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); + mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); var pipingCalculationContext = new PipingCalculationContext(new PipingCalculation(), Enumerable.Empty(), @@ -140,7 +152,7 @@ Assert.IsFalse(pipingCalculationContext.WrappedData.HasOutput); // Call - var children = nodePresenter.GetChildNodeObjects(pipingCalculationContext).OfType().ToArray(); + var children = pipingCalculationContextNodePresenter.GetChildNodeObjects(pipingCalculationContext).OfType().ToArray(); // Assert Assert.AreEqual(4, children.Length); @@ -159,14 +171,14 @@ { // Setup var nodeMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - var renameAllowed = nodePresenter.CanRenameNode(nodeMock); + var renameAllowed = pipingCalculationContextNodePresenter.CanRenameNode(nodeMock); // Assert Assert.IsTrue(renameAllowed); @@ -178,14 +190,14 @@ { // Setup var nodeMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - var renameAllowed = nodePresenter.CanRenameNodeTo(nodeMock, ""); + var renameAllowed = pipingCalculationContextNodePresenter.CanRenameNodeTo(nodeMock, ""); // Assert Assert.IsTrue(renameAllowed); @@ -197,11 +209,13 @@ { // Setup var observerMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); observerMock.Expect(o => o.UpdateObserver()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); + var calculation = new PipingCalculation { Name = "" @@ -211,11 +225,9 @@ Enumerable.Empty()); pipingCalculationsInputs.Attach(observerMock); - var nodePresenter = pipingCalculationContextNodePresenter; - // Call const string newName = ""; - nodePresenter.OnNodeRenamed(pipingCalculationsInputs, newName); + pipingCalculationContextNodePresenter.OnNodeRenamed(pipingCalculationsInputs, newName); // Assert Assert.AreEqual(newName, calculation.Name); @@ -227,14 +239,14 @@ { // Setup var nodeMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - nodePresenter.OnNodeChecked(nodeMock); + pipingCalculationContextNodePresenter.OnNodeChecked(nodeMock); // Assert mockRepository.VerifyAll(); // Expect no calls on tree node @@ -244,18 +256,18 @@ public void CanDrag_Always_ReturnNone() { // Setup - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); + var nodeData = new PipingCalculationContext(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); - var nodePresenter = pipingCalculationContextNodePresenter; - // Call - DragOperations dragAllowed = nodePresenter.CanDrag(nodeData); + DragOperations dragAllowed = pipingCalculationContextNodePresenter.CanDrag(nodeData); // Assert Assert.AreEqual(DragOperations.None, dragAllowed); @@ -267,16 +279,17 @@ // Setup var sourceMock = mockRepository.StrictMock(); var targetMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); var dataMock = mockRepository.StrictMock(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); + mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - DragOperations dropAllowed = nodePresenter.CanDrop(dataMock, sourceMock, targetMock, DragOperations.Move); + DragOperations dropAllowed = pipingCalculationContextNodePresenter.CanDrop(dataMock, sourceMock, targetMock, DragOperations.Move); // Assert Assert.AreEqual(DragOperations.None, dropAllowed); @@ -289,16 +302,17 @@ // Setup var sourceMock = mockRepository.StrictMock(); var targetMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); var dataMock = mockRepository.StrictMock(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); + mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - bool insertionAllowed = nodePresenter.CanInsert(dataMock, sourceMock, targetMock); + bool insertionAllowed = pipingCalculationContextNodePresenter.CanInsert(dataMock, sourceMock, targetMock); // Assert Assert.IsFalse(insertionAllowed); @@ -311,16 +325,17 @@ // Setup var sourceParentNodeMock = mockRepository.StrictMock(); var targetParentNodeDataMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); var dataMock = mockRepository.StrictMock(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); + mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - nodePresenter.OnDragDrop(dataMock, sourceParentNodeMock, targetParentNodeDataMock, DragOperations.Move, 2); + pipingCalculationContextNodePresenter.OnDragDrop(dataMock, sourceParentNodeMock, targetParentNodeDataMock, DragOperations.Move, 2); // Assert mockRepository.VerifyAll(); // Expect no calls on arguments @@ -330,16 +345,17 @@ public void OnNodeSelected_Always_DoNothing() { // Setup - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); var dataMock = mockRepository.StrictMock(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); + mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - nodePresenter.OnNodeSelected(dataMock); + pipingCalculationContextNodePresenter.OnNodeSelected(dataMock); // Assert mockRepository.VerifyAll(); // Expect no calls on arguments @@ -450,10 +466,12 @@ // Setup var nodeMock = mockRepository.StrictMock(); var eventArgsMock = mockRepository.StrictMock(""); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); + var dataMock = new PipingCalculationContext(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); @@ -472,10 +490,12 @@ { // Setup var eventArgsMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); + var dataMock = new PipingCalculationContext(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); @@ -553,10 +573,12 @@ { // Setup var dataMock = mockRepository.StrictMock(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); + var nodeMock = new PipingCalculationContext(new PipingCalculation(), Enumerable.Empty(), Enumerable.Empty()); @@ -577,12 +599,14 @@ public void RemoveNodeData_ParentIsPipingCalculationGroupContext_RemoveCalculationFromGroup(bool groupNameEditable) { // Setup - var mocks = new MockRepository(); - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); - var observer = mocks.StrictMock(); + var observer = mockRepository.StrictMock(); observer.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); + var contextMenuBuilderProvider = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); + var elementToBeRemoved = new PipingCalculation(); var group = new PipingCalculationGroup(); @@ -611,26 +635,28 @@ Assert.AreEqual(1, group.Children.Count); CollectionAssert.DoesNotContain(group.Children, elementToBeRemoved); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void RemoveNodeData_EverythingElse_ThrowsInvalidOperationException() { // Setup - var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(mockRepository.StrictMock()); + var contextMenuBuilderProvider = mockRepository.StrictMock(); mockRepository.ReplayAll(); - var nodePresenter = pipingCalculationContextNodePresenter; + var pipingCalculationContextNodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProvider); // Call - TestDelegate removeAction = () => nodePresenter.RemoveNodeData(null, null); + TestDelegate removeAction = () => pipingCalculationContextNodePresenter.RemoveNodeData(null, null); // Assert var exception = Assert.Throws(removeAction); - var expectedMessage = string.Format("Kan knoop uit boom van type {0} niet verwijderen.", nodePresenter.GetType().Name); + var expectedMessage = string.Format("Kan knoop uit boom van type {0} niet verwijderen.", pipingCalculationContextNodePresenter.GetType().Name); Assert.AreEqual(expectedMessage, exception.Message); + + mockRepository.VerifyAll(); } [Test] @@ -686,6 +712,7 @@ StringAssert.StartsWith("Validatie van 'Nieuwe berekening' beëindigd om: ", msgs.Current); }); Assert.IsNull(calculation.Output); + mockRepository.VerifyAll(); } @@ -721,6 +748,7 @@ // Then TestHelper.AssertLogMessagesCount(action, expectedLogMessageCount); + mockRepository.VerifyAll(); } @@ -733,6 +761,10 @@ var treeNodeMock = mockRepository.StrictMock(); contextMenuBuilderProviderMock.Expect(cmp => cmp.Get(treeNodeMock)).Return(new CustomItemsOnlyContextMenuBuilder()); + observer.Expect(o => o.UpdateObserver()); + + mockRepository.ReplayAll(); + var calculateContextMenuItemIndex = 1; var calculation = new PipingCalculation(); var validPipingInput = new TestPipingInput(); @@ -760,10 +792,7 @@ calculation.InputParameters.SurfaceLine = validPipingInput.SurfaceLine; calculation.InputParameters.SoilProfile = validPipingInput.SoilProfile; - observer.Expect(o => o.UpdateObserver()); - mockRepository.ReplayAll(); - calculation.Attach(observer); var nodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProviderMock); @@ -798,6 +827,7 @@ StringAssert.StartsWith("Berekening van 'Nieuwe berekening' beëindigd om: ", msgs.Current); }); Assert.IsNotNull(calculation.Output); + mockRepository.VerifyAll(); } @@ -811,11 +841,11 @@ contextMenuBuilderProviderMock.Expect(cmp => cmp.Get(treeNodeMock)).Return(new CustomItemsOnlyContextMenuBuilder()); int clearOutputItemPosition = 2; - var calculation = new PipingCalculation(); observer.Expect(o => o.UpdateObserver()); mockRepository.ReplayAll(); + var calculation = new PipingCalculation(); calculation.Output = new TestPipingOutput(); calculation.Attach(observer); var nodePresenter = new PipingCalculationContextNodePresenter(contextMenuBuilderProviderMock); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationGroupContextNodePresenterTest.cs =================================================================== diff -u -r2e162fe8f639b0c637a5cbfe1c2f1a9236741072 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationGroupContextNodePresenterTest.cs (.../PipingCalculationGroupContextNodePresenterTest.cs) (revision 2e162fe8f639b0c637a5cbfe1c2f1a9236741072) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationGroupContextNodePresenterTest.cs (.../PipingCalculationGroupContextNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -34,7 +34,6 @@ public class PipingCalculationGroupContextNodePresenterTest { private MockRepository mockRepository; - private IContextMenuBuilderProvider contextMenuBuilderProviderMock; private const int contextMenuAddCalculationGroupIndex = 0; private const int contextMenuAddCalculationIndex = 1; @@ -46,7 +45,6 @@ public void SetUp() { mockRepository = new MockRepository(); - contextMenuBuilderProviderMock = mockRepository.StrictMock(); } [Test] @@ -65,25 +63,31 @@ public void Constructor_WithParamsSet_NewInstance() { // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + // Call var nodePresenter = new PipingCalculationGroupContextNodePresenter(contextMenuBuilderProviderMock); // Assert Assert.IsInstanceOf>(nodePresenter); Assert.AreEqual(typeof(PipingCalculationGroupContext), nodePresenter.NodeTagType); Assert.IsNull(nodePresenter.TreeView); + + mockRepository.VerifyAll(); } [Test] public void UpdateNode_WithData_InitializeNode() { // Setup - var mocks = new MockRepository(); - var parentNode = mocks.StrictMock(); - var node = mocks.Stub(); + var parentNode = mockRepository.StrictMock(); + var node = mockRepository.Stub(); node.ForegroundColor = Color.AliceBlue; - mocks.ReplayAll(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); var group = new PipingCalculationGroup(); var nodeData = new PipingCalculationGroupContext(group, @@ -99,31 +103,32 @@ Assert.AreEqual(group.Name, node.Text); Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), node.ForegroundColor); TestHelper.AssertImagesAreEqual(PipingFormsResources.FolderIcon, node.Image); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void CanRenameNode_ParentIsPipingFailureMechanismNode_ReturnFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); - - var mocks = new MockRepository(); - var parentNode = mocks.Stub(); + + var parentNode = mockRepository.Stub(); parentNode.Tag = failureMechanism; - var node = mocks.StrictMock(); + var node = mockRepository.StrictMock(); node.Expect(n => n.Parent).Return(parentNode).Repeat.Twice(); - mocks.ReplayAll(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new PipingCalculationGroupContextNodePresenter(contextMenuBuilderProviderMock); // Call bool isRenamingAllowed = nodePresenter.CanRenameNode(node); // Assert Assert.IsFalse(isRenamingAllowed); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] @@ -135,6 +140,8 @@ var node = mockRepository.StrictMock(); node.Expect(n => n.Parent).Return(parentNode).Repeat.Twice(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingCalculationGroupContextNodePresenter(contextMenuBuilderProviderMock); @@ -151,29 +158,31 @@ public void CanRenamedNodeTo_Always_ReturnTrue() { // Setup - var mocks = new MockRepository(); - var node = mocks.StrictMock(); - mocks.ReplayAll(); + var node = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new PipingCalculationGroupContextNodePresenter(contextMenuBuilderProviderMock); // Call bool isRenamingAllowed = nodePresenter.CanRenameNodeTo(node, "newName"); // Assert Assert.IsTrue(isRenamingAllowed); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void OnNodeRenamed_WithData_RenameGroupAndNotifyObservers() { // Setup - var mocks = new MockRepository(); - var observer = mocks.StrictMock(); + var observer = mockRepository.StrictMock(); observer.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var group = new PipingCalculationGroup(); var nodeData = new PipingCalculationGroupContext(group, Enumerable.Empty(), @@ -188,7 +197,7 @@ // Assert Assert.AreEqual(newName, group.Name); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] @@ -202,14 +211,18 @@ var parentNodeData = new PipingFailureMechanism(); parentNodeData.CalculationsGroup.Children.Add(group); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var nodePresenter = new PipingCalculationGroupContextNodePresenter(contextMenuBuilderProviderMock); // Call bool isRemovalAllowed = nodePresenter.CanRemove(parentNodeData, nodeData); // Assert Assert.IsFalse(isRemovalAllowed); + mockRepository.VerifyAll(); } [Test] @@ -226,7 +239,9 @@ var parentNodeData = new PipingCalculationGroupContext(parentGroup, Enumerable.Empty(), Enumerable.Empty()); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingCalculationGroupContextNodePresenter(contextMenuBuilderProviderMock); @@ -235,12 +250,17 @@ // Assert Assert.IsTrue(isRemovalAllowed); + mockRepository.VerifyAll(); } [Test] public void CanRemove_ParentIsPipingCalculationGroupNotContainingGroup_ReturnFalse() { // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + var group = new PipingCalculationGroup(); var nodeData = new PipingCalculationGroupContext(group, Enumerable.Empty(), @@ -261,17 +281,19 @@ // Assert Assert.IsFalse(isRemovalAllowed); + mockRepository.VerifyAll(); } [Test] public void CanRemove_ParentIsPipingCalculationGroupContainingGroup_RemoveGroupAndNotifyObservers() { // Setup - var mocks = new MockRepository(); - var observer = mocks.StrictMock(); + var observer = mockRepository.StrictMock(); observer.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var group = new PipingCalculationGroup(); var nodeData = new PipingCalculationGroupContext(group, Enumerable.Empty(), @@ -295,18 +317,17 @@ // Assert Assert.IsTrue(removealSuccesful); CollectionAssert.DoesNotContain(parentGroup.Children, group); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void GetContextMenu_ValidDataWithCalculationOutput_ReturnContextWithItems() { // Setup - var mocks = new MockRepository(); - var node = mocks.Stub(); - var guiCommandHandler = mocks.Stub(); + var node = mockRepository.Stub(); + var guiCommandHandler = mockRepository.Stub(); - mocks.ReplayAll(); + mockRepository.ReplayAll(); var menuBuilder = new ContextMenuBuilder(guiCommandHandler, node); @@ -379,22 +400,21 @@ false); CollectionAssert.AllItemsAreInstancesOfType(new[] { menu.Items[2], menu.Items[6], menu.Items[9], menu.Items[12] }, typeof(ToolStripSeparator)); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void GetContextMenu_ClickOnAddGroupItem_AddGroupToCalculationGroupAndNotifyObservers() { // Setup - var mocks = new MockRepository(); - var calculationItem = mocks.Stub(); + var calculationItem = mockRepository.Stub(); calculationItem.Expect(ci => ci.Name).Return("Nieuwe map"); - var observer = mocks.StrictMock(); + var observer = mockRepository.StrictMock(); observer.Expect(o => o.UpdateObserver()); - var node = mocks.StrictMock(); - mocks.ReplayAll(); + var node = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var builderProvider = new SimpleContextMenuBuilderProvder(new CustomItemsOnlyContextMenuBuilder()); @@ -420,23 +440,22 @@ var newlyAddedItem = group.Children.Last(); Assert.IsInstanceOf(newlyAddedItem); Assert.AreEqual("Nieuwe map (1)", newlyAddedItem.Name); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void GetContextMenu_ClickOnAddCalculationItem_AddCalculationToCalculationGroupAndNotifyObservers() { // Setup - var mocks = new MockRepository(); - var calculationItem = mocks.Stub(); + var calculationItem = mockRepository.Stub(); calculationItem.Expect(ci => ci.Name).Return("Nieuwe berekening"); - var observer = mocks.StrictMock(); + var observer = mockRepository.StrictMock(); observer.Expect(o => o.UpdateObserver()); - var node = mocks.StrictMock(); + var node = mockRepository.StrictMock(); - mocks.ReplayAll(); + mockRepository.ReplayAll(); var contextMenuProvider = new SimpleContextMenuBuilderProvder(new CustomItemsOnlyContextMenuBuilder()); @@ -463,16 +482,15 @@ var newlyAddedItem = group.Children.Last(); Assert.IsInstanceOf(newlyAddedItem); Assert.AreEqual("Nieuwe berekening (1)", newlyAddedItem.Name); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void GetContextMenu_ClickOnValidateAllItem_ValidateAllChildCalculations() { // Setup - var mocks = new MockRepository(); - var node = mocks.StrictMock(); - mocks.ReplayAll(); + var node = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var contextMenuBuilderProvider = new SimpleContextMenuBuilderProvder(new CustomItemsOnlyContextMenuBuilder()); @@ -513,16 +531,15 @@ // Some validation error from validation service StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[5]); }); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void GetContextMenu_ClickOnCalculateAllItem_ScheduleAllChildCalculations() { // Setup - var mocks = new MockRepository(); - var node = mocks.StrictMock(); - mocks.ReplayAll(); + var node = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var menuBuilderProvider = new SimpleContextMenuBuilderProvder(new CustomItemsOnlyContextMenuBuilder()); @@ -563,23 +580,22 @@ Assert.IsInstanceOf(activity); } CollectionAssert.AreEquivalent(new[]{validCalculation.Name, invalidCalculation.Name}, activitesToRun.Select(a=>a.Name)); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void GetContextMenu_ClickOnClearOutputItem_ClearOutputAllChildCalculationsAndNotifyCalculationObservers() { // Setup - var mocks = new MockRepository(); - var node = mocks.StrictMock(); + var node = mockRepository.StrictMock(); - var calculation1Observer = mocks.StrictMock(); + var calculation1Observer = mockRepository.StrictMock(); calculation1Observer.Expect(o => o.UpdateObserver()); - var calculation2Observer = mocks.StrictMock(); + var calculation2Observer = mockRepository.StrictMock(); calculation2Observer.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); + mockRepository.ReplayAll(); var contextMenuBuilderProvider = new SimpleContextMenuBuilderProvder(new CustomItemsOnlyContextMenuBuilder()); @@ -619,13 +635,17 @@ Assert.IsFalse(group.HasOutput); Assert.IsFalse(calculation1.HasOutput); Assert.IsFalse(calculation2.HasOutput); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void GetChildNodeObjects_EmptyGroup_ReturnEmpty() { // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + var group = new PipingCalculationGroup(); var groupContext = new PipingCalculationGroupContext(group, Enumerable.Empty(), @@ -638,16 +658,18 @@ // Assert CollectionAssert.IsEmpty(children); + mockRepository.VerifyAll(); } [Test] public void GetChildNodeObjects_GroupWithMixedContents_ReturnChildren() { // Setup - var mocks = new MockRepository(); - var calculationItem = mocks.StrictMock(); - mocks.ReplayAll(); + var calculationItem = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + var childCalculation = new PipingCalculation(); var childGroup = new PipingCalculationGroup(); @@ -673,7 +695,7 @@ Assert.AreSame(childCalculation, returnedCalculationContext.WrappedData); var returnedCalculationGroupContext = (PipingCalculationGroupContext)children[2]; Assert.AreSame(childGroup, returnedCalculationGroupContext.WrappedData); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingFailureMechanismNodePresenterTest.cs =================================================================== diff -u -r2e162fe8f639b0c637a5cbfe1c2f1a9236741072 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingFailureMechanismNodePresenterTest.cs (.../PipingFailureMechanismNodePresenterTest.cs) (revision 2e162fe8f639b0c637a5cbfe1c2f1a9236741072) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingFailureMechanismNodePresenterTest.cs (.../PipingFailureMechanismNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -173,7 +173,7 @@ // Assert Assert.IsFalse(renameAllowed); - mockRepository.ReplayAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] @@ -193,7 +193,7 @@ var exception = Assert.Throws(call); var expectedMessage = string.Format("Kan knoop uit boom van type {0} niet hernoemen.", nodePresenter.GetType().Name); Assert.AreEqual(expectedMessage, exception.Message); - mockRepository.ReplayAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] @@ -393,6 +393,11 @@ var nodeMock = mockRepository.Stub(); var dataMock = mockRepository.StrictMock(); + + contextMenuBuilderProviderMock.Expect(cmp => cmp.Get(nodeMock)).Return(menuBuilder); + + mockRepository.ReplayAll(); + dataMock.CalculationsGroup.Children.Add(new PipingCalculation { Output = new TestPipingOutput() @@ -404,10 +409,6 @@ dataMock.CalculationsGroup.Children.ElementAt(0).Attach(observer); dataMock.CalculationsGroup.Children.ElementAt(1).Attach(observer); - contextMenuBuilderProviderMock.Expect(cmp => cmp.Get(nodeMock)).Return(menuBuilder); - - mockRepository.ReplayAll(); - var nodePresenter = new PipingFailureMechanismNodePresenter(contextMenuBuilderProviderMock); ContextMenuStrip contextMenuAdapter = nodePresenter.GetContextMenu(nodeMock, dataMock); @@ -499,16 +500,17 @@ var nodeMock = mockRepository.StrictMock(); var dataMock = mockRepository.StrictMock(); - dataMock.CalculationsGroup.Children.Add(new PipingCalculation - { - Output = new TestPipingOutput() - }); - var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + contextMenuBuilderProviderMock.Expect(cmp => cmp.Get(nodeMock)).Return(menuBuilder); mockRepository.ReplayAll(); + dataMock.CalculationsGroup.Children.Add(new PipingCalculation + { + Output = new TestPipingOutput() + }); + var nodePresenter = new PipingFailureMechanismNodePresenter(contextMenuBuilderProviderMock); // Call @@ -576,8 +578,6 @@ var nodePresenter = new PipingFailureMechanismNodePresenter(contextMenuBuilderProviderMock); - mockRepository.ReplayAll(); - // Precondition Assert.AreEqual(1, failureMechanism.CalculationsGroup.Children.Count); @@ -607,15 +607,15 @@ observerMock.Expect(o => o.UpdateObserver()); + mockRepository.ReplayAll(); + var failureMechanism = new PipingFailureMechanism(); failureMechanism.Attach(observerMock); failureMechanism.CalculationsGroup.Children.Clear(); failureMechanism.CalculationsGroup.Children.Add(new PipingCalculationGroup()); var nodePresenter = new PipingFailureMechanismNodePresenter(contextMenuBuilderProviderMock); - mockRepository.ReplayAll(); - // Precondition Assert.AreEqual(1, failureMechanism.CalculationsGroup.Children.Count); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingInputContextNodePresenterTest.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingInputContextNodePresenterTest.cs (.../PipingInputContextNodePresenterTest.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingInputContextNodePresenterTest.cs (.../PipingInputContextNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,10 +1,8 @@ using System; using System.Drawing; -using System.Windows.Forms; using Core.Common.Controls; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; -using Core.Common.Gui.TestUtils; using Core.Common.TestUtils; using NUnit.Framework; @@ -58,6 +56,7 @@ Assert.IsInstanceOf>(nodePresenter); Assert.AreEqual(typeof(PipingInputContext), nodePresenter.NodeTagType); Assert.IsNull(nodePresenter.TreeView); + mockRepository.VerifyAll(); } [Test] @@ -67,9 +66,10 @@ var parentNode = mockRepository.StrictMock(); var currentNode = mockRepository.Stub(); var contextMenuBuilderProviderMock = mockRepository.StrictMock(); - currentNode.ForegroundColor = Color.AliceBlue; mockRepository.ReplayAll(); + currentNode.ForegroundColor = Color.AliceBlue; + var nodeData = new PipingInputContext(); var nodePresenter = new PipingInputContextNodePresenter(contextMenuBuilderProviderMock); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingOutputNodePresenterTest.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingOutputNodePresenterTest.cs (.../PipingOutputNodePresenterTest.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingOutputNodePresenterTest.cs (.../PipingOutputNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -1,12 +1,9 @@ using System; using System.Drawing; using System.Linq; -using System.Windows.Forms; -using Core.Common.Base; using Core.Common.Controls; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; -using Core.Common.Gui.TestUtils; using Core.Common.Gui.TestUtils.ContextMenu; using Core.Common.TestUtils; @@ -74,9 +71,10 @@ var contextMenuBuilderProviderMock = mockRepository.StrictMock(); var pipingNode = mockRepository.Stub(); - pipingNode.ForegroundColor = Color.AliceBlue; mockRepository.ReplayAll(); + pipingNode.ForegroundColor = Color.AliceBlue; + var nodePresenter = new PipingOutputNodePresenter(contextMenuBuilderProviderMock); var project = PipingOutputCreator.Create(); @@ -88,6 +86,7 @@ Assert.AreEqual(outputName, pipingNode.Text); Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), pipingNode.ForegroundColor); TestHelper.AssertImagesAreEqual(PipingFormsResources.PipingOutputIcon, pipingNode.Image); + mockRepository.ReplayAll(); } [Test] Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSoilProfileNodePresenterTest.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSoilProfileNodePresenterTest.cs (.../PipingSoilProfileNodePresenterTest.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSoilProfileNodePresenterTest.cs (.../PipingSoilProfileNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -22,13 +22,11 @@ public class PipingSoilProfileNodePresenterTest { private MockRepository mockRepository; - private IContextMenuBuilderProvider contextMenuBuilderProviderMock; [SetUp] public void SetUp() { mockRepository = new MockRepository(); - contextMenuBuilderProviderMock = mockRepository.StrictMock(); } [Test] @@ -46,6 +44,10 @@ [Test] public void Constructor_WithParamsSet_NewInstance() { + // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + // Call var nodePresenter = new PipingSoilProfileNodePresenter(contextMenuBuilderProviderMock); @@ -58,11 +60,12 @@ public void UpdateNode_NodeWithData_InitializeNode() { // Setup - var mocks = new MockRepository(); - var parentNodeMock = mocks.StrictMock(); - var dataNodeMock = mocks.Stub(); + var parentNodeMock = mockRepository.StrictMock(); + var dataNodeMock = mockRepository.Stub(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + dataNodeMock.ForegroundColor = Color.AliceBlue; - mocks.ReplayAll(); const string name = ""; var random = new Random(22); @@ -85,7 +88,7 @@ Assert.AreEqual(name, dataNodeMock.Text); Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), dataNodeMock.ForegroundColor); TestHelper.AssertImagesAreEqual(PipingFormsResources.PipingSoilProfileIcon, dataNodeMock.Image); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSurfaceLineCollectionNodePresenterTest.cs =================================================================== diff -u -r2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSurfaceLineCollectionNodePresenterTest.cs (.../PipingSurfaceLineCollectionNodePresenterTest.cs) (revision 2b9e80f0d003d30c57fae2f16f25acaf9b58d2d2) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSurfaceLineCollectionNodePresenterTest.cs (.../PipingSurfaceLineCollectionNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -26,13 +26,11 @@ public class PipingSurfaceLineCollectionNodePresenterTest { private MockRepository mockRepository; - private IContextMenuBuilderProvider contextMenuBuilderProviderMock; [SetUp] public void SetUp() { mockRepository = new MockRepository(); - contextMenuBuilderProviderMock = mockRepository.StrictMock(); } [Test] @@ -50,22 +48,27 @@ [Test] public void Constructor_WithParamsSet_ExpectedValues() { + // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + // Call var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); // Assert Assert.IsInstanceOf(nodePresenter); Assert.IsNull(nodePresenter.TreeView); Assert.AreEqual(typeof(IEnumerable), nodePresenter.NodeTagType); + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void UpdateNode_WithData_InitializeNode() { // Setup - var mocks = new MockRepository(); - var surfaceLinesCollectionNodeMock = mocks.Stub(); - mocks.ReplayAll(); + var surfaceLinesCollectionNodeMock = mockRepository.Stub(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -78,15 +81,16 @@ Assert.AreEqual(PipingFormsResources.PipingSurfaceLinesCollection_DisplayName, surfaceLinesCollectionNodeMock.Text); Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), surfaceLinesCollectionNodeMock.ForegroundColor); TestHelper.AssertImagesAreEqual(PipingFormsResources.FolderIcon, surfaceLinesCollectionNodeMock.Image); + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void UpdateNode_CollectionIsEmpty_InitializeNodeWithGreyedOutText() { // Setup - var mocks = new MockRepository(); - var surfaceLinesCollectionNodeMock = mocks.Stub(); - mocks.ReplayAll(); + var surfaceLinesCollectionNodeMock = mockRepository.Stub(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -99,14 +103,15 @@ Assert.AreEqual(PipingFormsResources.PipingSurfaceLinesCollection_DisplayName, surfaceLinesCollectionNodeMock.Text); Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), surfaceLinesCollectionNodeMock.ForegroundColor); TestHelper.AssertImagesAreEqual(PipingFormsResources.FolderIcon, surfaceLinesCollectionNodeMock.Image); + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void GetChildNodeObjects_WithData_ReturnAllItemsInCollection() { // Setup - var mocks = new MockRepository(); - mocks.ReplayAll(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -121,16 +126,16 @@ // Assert CollectionAssert.AreEqual(surfaceLinesCollection, children); - mocks.VerifyAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void CanRenameNode_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var nodeMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -139,16 +144,16 @@ // Assert Assert.IsFalse(renameAllowed); - mocks.VerifyAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void CanRenameNodeTo_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var nodeMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -157,16 +162,16 @@ // Assert Assert.IsFalse(renameAllowed); - mocks.ReplayAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void OnNodeRenamed_Always_ThrowInvalidOperationException() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -177,33 +182,33 @@ var exception = Assert.Throws(call); var expectedMessage = string.Format("Kan knoop uit boom van type {0} niet hernoemen.", nodePresenter.GetType().Name); Assert.AreEqual(expectedMessage, exception.Message); - mocks.ReplayAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void OnNodeChecked_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var nodeMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); // Call nodePresenter.OnNodeChecked(nodeMock); // Assert - mocks.VerifyAll(); // Expect no calls on tree node + mockRepository.VerifyAll(); // Expect no calls on tree node } [Test] public void CanDrag_Always_ReturnNone() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -212,18 +217,18 @@ // Assert Assert.AreEqual(DragOperations.None, dragAllowed); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } [Test] public void CanDrop_Always_ReturnNone() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - var sourceMock = mocks.StrictMock(); - var targetMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var sourceMock = mockRepository.StrictMock(); + var targetMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -232,18 +237,18 @@ // Assert Assert.AreEqual(DragOperations.None, dropAllowed); - mocks.VerifyAll(); // Expect no calls on mocks. + mockRepository.VerifyAll(); // Expect no calls on mockRepository. } [Test] public void CanInsert_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - var sourceMock = mocks.StrictMock(); - var targetMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var sourceMock = mockRepository.StrictMock(); + var targetMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -252,43 +257,43 @@ // Assert Assert.IsFalse(insertionAllowed); - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void OnDragDrop_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - var sourceParentNodeMock = mocks.StrictMock(); - var targetParentNodeDataMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var sourceParentNodeMock = mockRepository.StrictMock(); + var targetParentNodeDataMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); // Call nodePresenter.OnDragDrop(dataMock, sourceParentNodeMock, targetParentNodeDataMock, DragOperations.Move, 2); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void OnNodeSelected_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); // Call nodePresenter.OnNodeSelected(dataMock); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } @@ -324,47 +329,47 @@ public void OnPropertyChange_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - var nodeMock = mocks.StrictMock(); - var eventArgsMock = mocks.StrictMock(""); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var nodeMock = mockRepository.StrictMock(); + var eventArgsMock = mockRepository.StrictMock(""); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); // Call nodePresenter.OnPropertyChanged(dataMock, nodeMock, eventArgsMock); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void OnCollectionChange_Always_DoNothing() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - var eventArgsMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var eventArgsMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); // Call nodePresenter.OnCollectionChanged(dataMock, eventArgsMock); // Assert - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void CanRemove_Always_ReturnFalse() { // Setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock>(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var dataMock = mockRepository.StrictMock>(); + var nodeMock = mockRepository.StrictMock(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -373,17 +378,17 @@ // Assert Assert.IsFalse(removalAllowed); - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] public void RemoveNodeData_Always_ThrowInvalidOperationException() { // setup - var mocks = new MockRepository(); - var parentNodeDataMock = mocks.StrictMock(); - var dataMock = mocks.StrictMock>(); - mocks.ReplayAll(); + var parentNodeDataMock = mockRepository.StrictMock(); + var dataMock = mockRepository.StrictMock>(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var nodePresenter = new PipingSurfaceLineCollectionNodePresenter(contextMenuBuilderProviderMock); @@ -394,7 +399,7 @@ var exception = Assert.Throws(call); var expectedMessage = string.Format("Kan knoop uit boom van type {0} niet verwijderen.", nodePresenter.GetType().Name); Assert.AreEqual(expectedMessage, exception.Message); - mocks.VerifyAll(); // Expect no calls on arguments + mockRepository.VerifyAll(); // Expect no calls on arguments } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSurfaceLineNodePresenterTest.cs =================================================================== diff -u -rd02fa527769665fe275986468c6ac570fbad5e48 -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSurfaceLineNodePresenterTest.cs (.../PipingSurfaceLineNodePresenterTest.cs) (revision d02fa527769665fe275986468c6ac570fbad5e48) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingSurfaceLineNodePresenterTest.cs (.../PipingSurfaceLineNodePresenterTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -23,13 +23,11 @@ public class PipingSurfaceLineNodePresenterTest { private MockRepository mockRepository; - private IContextMenuBuilderProvider contextMenuBuilderProviderMock; [SetUp] public void SetUp() { mockRepository = new MockRepository(); - contextMenuBuilderProviderMock = mockRepository.StrictMock(); } [Test] @@ -47,22 +45,28 @@ [Test] public void Constructor_WithParamsSet_NewInstance() { + // Setup + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + // Call var nodePresenter = new PipingSurfaceLineNodePresenter(contextMenuBuilderProviderMock); // Assert Assert.IsInstanceOf>(nodePresenter); + mockRepository.VerifyAll(); } [Test] public void UpdateNode_NodeWithData_InitializeNode() { // Setup - var mocks = new MockRepository(); - var parentNodeMock = mocks.StrictMock(); - var dataNodeMock = mocks.Stub(); + var parentNodeMock = mockRepository.StrictMock(); + var dataNodeMock = mockRepository.Stub(); + var contextMenuBuilderProviderMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + dataNodeMock.ForegroundColor = Color.AliceBlue; - mocks.ReplayAll(); const string name = ""; var surfaceLine = new RingtoetsPipingSurfaceLine { Name = name }; @@ -76,7 +80,7 @@ Assert.AreEqual(name, dataNodeMock.Text); Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), dataNodeMock.ForegroundColor); TestHelper.AssertImagesAreEqual(PipingFormsResources.PipingSurfaceLineIcon, dataNodeMock.Image); - mocks.VerifyAll(); + mockRepository.VerifyAll(); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Builders/SoilProfileBuilder2DTest.cs =================================================================== diff -u -rc1e31ab57c197658d1c75750feef8856df7e9f6b -r85af6861f16df8c5d57e3e39d0d2874e7bd16b8e --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Builders/SoilProfileBuilder2DTest.cs (.../SoilProfileBuilder2DTest.cs) (revision c1e31ab57c197658d1c75750feef8856df7e9f6b) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Builders/SoilProfileBuilder2DTest.cs (.../SoilProfileBuilder2DTest.cs) (revision 85af6861f16df8c5d57e3e39d0d2874e7bd16b8e) @@ -30,7 +30,7 @@ [Test] [TestCase(null)] [TestCase("name")] - public void Constructor_WithNameValidX_ReturnsNewInstance(string name) + public void Constructor_WithNameValidX_DoesNotThrow(string name) { // Call TestDelegate test = () => new SoilProfileBuilder2D(name, 0.0);