Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj
===================================================================
diff -u -r36b6f1f7c1ddf585689512eb61256d41a1e0ca64 -re13aad684439fe0ce56760077b13a7c5b03674de
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 36b6f1f7c1ddf585689512eb61256d41a1e0ca64)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision e13aad684439fe0ce56760077b13a7c5b03674de)
@@ -61,6 +61,7 @@
True
Resources.resx
+
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs
===================================================================
diff -u
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (revision 0)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (revision e13aad684439fe0ce56760077b13a7c5b03674de)
@@ -0,0 +1,98 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.Windows.Forms;
+using Core.Common.Gui.ContextMenu;
+
+namespace Ringtoets.Common.Forms.TreeNodeInfos
+{
+ ///
+ /// Decorator for .
+ ///
+ public class RingtoetsContextMenuBuilder : IContextMenuBuilder
+ {
+ private readonly IContextMenuBuilder contextMenuBuilder;
+
+ ///
+ /// Creates a new instance of the .
+ ///
+ /// The context menu builder to decorate.
+ public RingtoetsContextMenuBuilder(IContextMenuBuilder contextMenuBuilder)
+ {
+ this.contextMenuBuilder = contextMenuBuilder;
+ }
+
+ public IContextMenuBuilder AddRenameItem()
+ {
+ return contextMenuBuilder.AddRenameItem();
+ }
+
+ public IContextMenuBuilder AddDeleteItem()
+ {
+ return contextMenuBuilder.AddDeleteItem();
+ }
+
+ public IContextMenuBuilder AddExpandAllItem()
+ {
+ return contextMenuBuilder.AddExpandAllItem();
+ }
+
+ public IContextMenuBuilder AddCollapseAllItem()
+ {
+ return contextMenuBuilder.AddCollapseAllItem();
+ }
+
+ public IContextMenuBuilder AddOpenItem()
+ {
+ return contextMenuBuilder.AddOpenItem();
+ }
+
+ public IContextMenuBuilder AddExportItem()
+ {
+ return contextMenuBuilder.AddExportItem();
+ }
+
+ public IContextMenuBuilder AddImportItem()
+ {
+ return contextMenuBuilder.AddImportItem();
+ }
+
+ public IContextMenuBuilder AddPropertiesItem()
+ {
+ return contextMenuBuilder.AddPropertiesItem();
+ }
+
+ public IContextMenuBuilder AddSeparator()
+ {
+ return contextMenuBuilder.AddSeparator();
+ }
+
+ public IContextMenuBuilder AddCustomItem(StrictContextMenuItem item)
+ {
+ return contextMenuBuilder.AddCustomItem(item);
+ }
+
+ public ContextMenuStrip Build()
+ {
+ return contextMenuBuilder.Build();
+ }
+ }
+}
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj
===================================================================
diff -u -r36b6f1f7c1ddf585689512eb61256d41a1e0ca64 -re13aad684439fe0ce56760077b13a7c5b03674de
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 36b6f1f7c1ddf585689512eb61256d41a1e0ca64)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision e13aad684439fe0ce56760077b13a7c5b03674de)
@@ -66,6 +66,7 @@
+
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuBuilderTest.cs
===================================================================
diff -u
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuBuilderTest.cs (revision 0)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuBuilderTest.cs (revision e13aad684439fe0ce56760077b13a7c5b03674de)
@@ -0,0 +1,253 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Core.Common.Gui.ContextMenu;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Forms.TreeNodeInfos;
+
+namespace Ringtoets.Common.Forms.Test.TreeNodeInfos
+{
+ [TestFixture]
+ public class RingtoetsContextMenuBuilderTest
+ {
+ [Test]
+ public void AddRenameItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddRenameItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddRenameItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddDeleteItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddDeleteItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddDeleteItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddExpandAllItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddExpandAllItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddExpandAllItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddCollapseAllItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddCollapseAllItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddCollapseAllItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddOpenItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddOpenItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddOpenItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddExportItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddExportItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddExportItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddImportItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddImportItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddImportItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddPropertiesItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddPropertiesItem());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddPropertiesItem();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddSeparator_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddSeparator());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddSeparator();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddCustomItem_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuItem = mocks.StrictMock();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.AddCustomItem(contextMenuItem));
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.AddCustomItem(contextMenuItem);
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void Build_ContextMenuBuilder_CorrectlyDecorated()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var contextMenuBuilder = mocks.StrictMock();
+
+ contextMenuBuilder.Expect(cmb => cmb.Build());
+
+ mocks.ReplayAll();
+
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ ringtoetsContextMenuBuilder.Build();
+
+ // Assert
+ mocks.VerifyAll();
+ }
+ }
+}