Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r684b8c0ca681ea2da3cc988bd60e9223037e5a16 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 684b8c0ca681ea2da3cc988bd60e9223037e5a16) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.18444 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -61,6 +61,16 @@ } /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap AddFolderIcon { + get { + object obj = ResourceManager.GetObject("AddFolderIcon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// /// Looks up a localized string similar to Be&rekenen. /// public static string Calculate { @@ -117,6 +127,24 @@ } /// + /// Looks up a localized string similar to &Map toevoegen. + /// + public static string CalculationGroup_Add_CalculationGroup { + get { + return ResourceManager.GetString("CalculationGroup_Add_CalculationGroup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.. + /// + public static string CalculationGroup_Add_CalculationGroup_ToolTip { + get { + return ResourceManager.GetString("CalculationGroup_Add_CalculationGroup_ToolTip", resourceCulture); + } + } + + /// /// Looks up a localized string similar to &Wis alle uitvoer.... /// public static string Clear_all_output { @@ -184,6 +212,15 @@ } /// + /// Looks up a localized string similar to Voeg een nieuwe berekeningsmap toe aan dit faalmechanisme.. + /// + public static string FailureMechanism_Add_CalculationGroup_Tooltip { + get { + return ResourceManager.GetString("FailureMechanism_Add_CalculationGroup_Tooltip", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Invoer. /// public static string FailureMechanism_Inputs_DisplayName { Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx =================================================================== diff -u -r684b8c0ca681ea2da3cc988bd60e9223037e5a16 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 684b8c0ca681ea2da3cc988bd60e9223037e5a16) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -256,4 +256,16 @@ ..\Resources\control_equalizer_blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\folder_add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + &Map toevoegen + + + Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap. + + + Voeg een nieuwe berekeningsmap toe aan dit faalmechanisme. + \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Resources/folder_add.png =================================================================== diff -u Binary files differ Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r684b8c0ca681ea2da3cc988bd60e9223037e5a16 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 684b8c0ca681ea2da3cc988bd60e9223037e5a16) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -148,6 +148,7 @@ + Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContext.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContext.cs (revision 0) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContext.cs (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -0,0 +1,60 @@ +// 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; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Calculation; +using Ringtoets.GrassCoverErosionInwards.Data; +using Ringtoets.GrassCoverErosionInwards.Forms.Properties; + +namespace Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects +{ + /// + /// Presentation object for all data required to configure an instance of + /// in order be able to create configurable grass cover erosion inwards calculations. + /// + public class GrassCoverErosionInwardsCalculationGroupContext : GrassCoverErosionInwardsContext + { + /// + /// Creates a new instance of . + /// + /// The instance wrapped by this context object. + /// The failure mechanism which the context belongs to. + /// The assessment section which the context belongs to. + public GrassCoverErosionInwardsCalculationGroupContext(ICalculationGroup calculationsGroup, GrassCoverErosionInwardsFailureMechanism grassCoverErosionInwardsFailureMechanism, IAssessmentSection assessmentSection) + : base(calculationsGroup, assessmentSection) + { + if (grassCoverErosionInwardsFailureMechanism == null) + { + var message = string.Format(Resources.GrassCoverErosionInwardsContext_AssertInputsAreNotNull_DataDescription_0_cannot_be_null, + Resources.GrassCoverErosionInwardsContext_DataDescription_GrassCoverErosionInwardsFailureMechanism); + throw new ArgumentNullException("grassCoverErosionInwardsFailureMechanism", message); + } + + GrassCoverErosionInwardsFailureMechanism = grassCoverErosionInwardsFailureMechanism; + } + + /// + /// Gets the which the belongs to. + /// + public GrassCoverErosionInwardsFailureMechanism GrassCoverErosionInwardsFailureMechanism { get; private set; } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PresentationObjects/GrassCoverErosionInwardsContext.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PresentationObjects/GrassCoverErosionInwardsContext.cs (revision 0) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PresentationObjects/GrassCoverErosionInwardsContext.cs (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -0,0 +1,51 @@ +// 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; +using Core.Common.Base; +using Core.Common.Controls.PresentationObjects; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.GrassCoverErosionInwards.Forms.Properties; + +namespace Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects +{ + public class GrassCoverErosionInwardsContext : WrappedObjectContextBase where T : IObservable + { + protected GrassCoverErosionInwardsContext( + T wrappedData, IAssessmentSection assessmentSection) + : base(wrappedData) + { + if (assessmentSection == null) + { + var message = String.Format(Resources.GrassCoverErosionInwardsContext_AssertInputsAreNotNull_DataDescription_0_cannot_be_null, + Resources.GrassCoverErosionInwardsContext_DataDescription_AssessmentSection); + throw new ArgumentNullException("assessmentSection", message); + } + + AssessmentSection = assessmentSection; + } + + /// + /// Gets the assessment section which the failure mechanism context belongs to. + /// + public IAssessmentSection AssessmentSection { get; private set; } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -rb28f56d6bb3f14141bd003dd43378f8002a9e87a -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b28f56d6bb3f14141bd003dd43378f8002a9e87a) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -61,6 +61,63 @@ } /// + /// Looks up a localized string similar to &Berekening toevoegen. + /// + public static string CalculationGroup_Add_GrassCoverErosionInwardsCalculation { + get { + return ResourceManager.GetString("CalculationGroup_Add_GrassCoverErosionInwardsCalculation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Voeg een nieuwe berekening toe aan deze berekeningsmap.. + /// + public static string CalculationGroup_Add_GrassCoverErosionInwardsCalculation_ToolTip { + get { + return ResourceManager.GetString("CalculationGroup_Add_GrassCoverErosionInwardsCalculation_ToolTip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} mag niet 'null' zijn.. + /// + public static string GrassCoverErosionInwardsContext_AssertInputsAreNotNull_DataDescription_0_cannot_be_null { + get { + return ResourceManager.GetString("GrassCoverErosionInwardsContext_AssertInputsAreNotNull_DataDescription_0_cannot_b" + + "e_null", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Het traject. + /// + public static string GrassCoverErosionInwardsContext_DataDescription_AssessmentSection { + get { + return ResourceManager.GetString("GrassCoverErosionInwardsContext_DataDescription_AssessmentSection", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Het grasbekleding erosie kruin en binnentalud faalmechanisme. + /// + public static string GrassCoverErosionInwardsContext_DataDescription_GrassCoverErosionInwardsFailureMechanism { + get { + return ResourceManager.GetString("GrassCoverErosionInwardsContext_DataDescription_GrassCoverErosionInwardsFailureMe" + + "chanism", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Voeg een nieuwe grasbekleding erosie kruin en binnentalud berekening toe aan dit faalmechanisme.. + /// + public static string GrassCoverErosionInwardsFailureMechanism_Add_GrassCoverErosionInwardsCalculation_Tooltip { + get { + return ResourceManager.GetString("GrassCoverErosionInwardsFailureMechanism_Add_GrassCoverErosionInwardsCalculation_" + + "Tooltip", resourceCulture); + } + } + + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// public static System.Drawing.Bitmap GrassCoverErosionInwardsIcon { Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx =================================================================== diff -u -r37e75197ab1fd49770722193d5cbf0756b91f669 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx (.../Resources.resx) (revision 37e75197ab1fd49770722193d5cbf0756b91f669) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx (.../Resources.resx) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -117,6 +117,24 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + &Berekening toevoegen + + + Voeg een nieuwe berekening toe aan deze berekeningsmap. + + + {0} mag niet 'null' zijn. + + + Het traject + + + Het grasbekleding erosie kruin en binnentalud faalmechanisme + + + Voeg een nieuwe grasbekleding erosie kruin en binnentalud berekening toe aan dit faalmechanisme. + ..\Resources\control_equalizer_blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Ringtoets.GrassCoverErosionInwards.Forms.csproj =================================================================== diff -u -r684b8c0ca681ea2da3cc988bd60e9223037e5a16 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Ringtoets.GrassCoverErosionInwards.Forms.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.csproj) (revision 684b8c0ca681ea2da3cc988bd60e9223037e5a16) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Ringtoets.GrassCoverErosionInwards.Forms.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.csproj) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -2,7 +2,6 @@ - {C540E627-B95B-4CC0-A1B6-A0BDF74936C7} Library Properties @@ -46,7 +45,9 @@ Properties\GlobalAssembly.cs + + True Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs =================================================================== diff -u -rb634d74a0a06b143f275d94868a559ab18a048bf -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision b634d74a0a06b143f275d94868a559ab18a048bf) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -20,11 +20,20 @@ // All rights reserved. using System; +using System.Collections; using System.Collections.Generic; using System.Linq; +using System.Windows.Forms; using Core.Common.Base.Data; using Core.Common.Controls.TreeView; +using Core.Common.Gui.ContextMenu; using Core.Common.Gui.Plugin; +using Ringtoets.Common.Data; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Forms.Helpers; +using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.TreeNodeInfos; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects; @@ -34,7 +43,9 @@ using Ringtoets.HydraRing.Calculation.Data.Input.Overtopping; using Ringtoets.HydraRing.Calculation.Data.Output; using Ringtoets.HydraRing.Data; +using GrassCoverErosionInwardsDataResources = Ringtoets.GrassCoverErosionInwards.Data.Properties.Resources; using GrassCoverErosionInwardsFormsResources = Ringtoets.GrassCoverErosionInwards.Forms.Properties.Resources; +using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.GrassCoverErosionInwards.Plugin @@ -46,9 +57,46 @@ { public override IEnumerable GetTreeNodeInfos() { - yield return new DefaultFailureMechanismTreeNodeInfo(null, null, Gui); + yield return new DefaultFailureMechanismTreeNodeInfo(FailureMechanismChildNodeObjects, + FailureMechanismContextMenuStrip, Gui); + + yield return new TreeNodeInfo + { + Text = grassCoverErosionInwardsFailureMechanismContext => grassCoverErosionInwardsFailureMechanismContext.WrappedData.Name, + Image = grassCoverErosionInwardsCalculationGroupContext => RingtoetsCommonFormsResources.GeneralFolderIcon, + EnsureVisibleOnCreate = grassCoverErosionInwardsCalculationGroupContext => true + }; } + private object[] FailureMechanismChildNodeObjects(GrassCoverErosionInwardsFailureMechanismContext grassCoverErosionInwardsFailureMechanismContext) + { + GrassCoverErosionInwardsFailureMechanism wrappedData = grassCoverErosionInwardsFailureMechanismContext.WrappedData; + return new object[] + { + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Inputs_DisplayName, GetInputs(wrappedData, grassCoverErosionInwardsFailureMechanismContext.Parent), TreeFolderCategory.Input), + new GrassCoverErosionInwardsCalculationGroupContext(wrappedData.CalculationsGroup, wrappedData, grassCoverErosionInwardsFailureMechanismContext.Parent), + new CategoryTreeFolder(RingtoetsCommonFormsResources.FailureMechanism_Outputs_DisplayName, GetOutputs(wrappedData), TreeFolderCategory.Output) + }; + } + + private static IList GetInputs(GrassCoverErosionInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) + { + return new ArrayList + { + new FailureMechanismSectionsContext(failureMechanism, assessmentSection), + new CommentContext(failureMechanism) + }; + } + + private static IList GetOutputs(GrassCoverErosionInwardsFailureMechanism failureMechanism) + { + return new ArrayList + { + new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism) + }; + } + private static ExceedanceProbabilityCalculationActivity CreateHydraRingTargetProbabilityCalculationActivity(HydraulicBoundaryLocation hydraulicBoundaryLocation, string hlcdDirectory, GrassCoverErosionInwardsInput inwardsInput, @@ -120,5 +168,60 @@ throw new InvalidOperationException(Resources.GrassCoverErosionInwardsGuiPlugin_Error_during_overtopping_calculation); } } + + #region GrassCoverErosionInwards TreeNodeInfo + + private ContextMenuStrip FailureMechanismContextMenuStrip(GrassCoverErosionInwardsFailureMechanismContext grassCoverErosionInwardsFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + { + var addCalculationGroupItem = new StrictContextMenuItem( + RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, + RingtoetsCommonFormsResources.FailureMechanism_Add_CalculationGroup_Tooltip, + RingtoetsCommonFormsResources.AddFolderIcon, + (o, args) => AddCalculationGroup(grassCoverErosionInwardsFailureMechanismContext.WrappedData) + ); + + var addCalculationItem = new StrictContextMenuItem( + GrassCoverErosionInwardsFormsResources.CalculationGroup_Add_GrassCoverErosionInwardsCalculation, + GrassCoverErosionInwardsFormsResources.GrassCoverErosionInwardsFailureMechanism_Add_GrassCoverErosionInwardsCalculation_Tooltip, + GrassCoverErosionInwardsFormsResources.GrassCoverErosionInwardsIcon, + (s, e) => AddCalculation(grassCoverErosionInwardsFailureMechanismContext.WrappedData) + ); + + return Gui.Get(grassCoverErosionInwardsFailureMechanismContext, treeViewControl) + .AddOpenItem() + .AddSeparator() + .AddCustomItem(addCalculationGroupItem) + .AddCustomItem(addCalculationItem) + .AddSeparator() + .AddSeparator() + .AddImportItem() + .AddExportItem() + .AddSeparator() + .AddExpandAllItem() + .AddCollapseAllItem() + .Build(); + } + + private static void AddCalculationGroup(IFailureMechanism failureMechanism) + { + var calculation = new CalculationGroup + { + Name = NamingHelper.GetUniqueName(failureMechanism.CalculationsGroup.Children, RingtoetsCommonDataResources.CalculationGroup_DefaultName, c => c.Name) + }; + failureMechanism.CalculationsGroup.Children.Add(calculation); + failureMechanism.CalculationsGroup.NotifyObservers(); + } + + private static void AddCalculation(IFailureMechanism failureMechanism) + { + var calculation = new GrassCoverErosionInwardsCalculation + { + Name = NamingHelper.GetUniqueName(failureMechanism.CalculationsGroup.Children, GrassCoverErosionInwardsDataResources.GrassCoverErosionInwardsCalculation_DefaultName, c => c.Name) + }; + failureMechanism.CalculationsGroup.Children.Add(calculation); + failureMechanism.CalculationsGroup.NotifyObservers(); + } + + #endregion } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContextTest.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContextTest.cs (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsCalculationGroupContextTest.cs (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -0,0 +1,170 @@ +// 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; +using Core.Common.Base; +using Core.Common.TestUtil; +using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Calculation; +using Ringtoets.GrassCoverErosionInwards.Data; +using Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects; + +namespace Ringtoets.GrassCoverErosionInwards.Forms.Test.PresentationObjects +{ + [TestFixture] + public class GrassCoverErosionInwardsCalculationGroupContextTest + { + private MockRepository mockRepository; + + [SetUp] + public void SetUp() + { + mockRepository = new MockRepository(); + } + + [Test] + public void ParameteredConstructor_ExpectedValues() + { + // Setup + var calculationGroup = new CalculationGroup(); + var assessmentSectionMock = mockRepository.StrictMock(); + var failureMechanismMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + // Call + var groupContext = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, failureMechanismMock, assessmentSectionMock); + + // Assert + Assert.IsInstanceOf(groupContext); + Assert.IsInstanceOf>(groupContext); + Assert.AreSame(calculationGroup, groupContext.WrappedData); + Assert.AreSame(failureMechanismMock, groupContext.GrassCoverErosionInwardsFailureMechanism); + Assert.AreSame(assessmentSectionMock, groupContext.AssessmentSection); + mockRepository.VerifyAll(); + } + + [Test] + public void ParameteredConstructor_FailureMechanismIsNull_ThrowArgumentNullException() + { + // Setup + var calculationGroup = new CalculationGroup(); + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + // Call + TestDelegate call = () => new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, null, assessmentSectionMock); + + // Assert + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, "Het grasbekleding erosie kruin en binnentalud faalmechanisme mag niet 'null' zijn."); + mockRepository.VerifyAll(); + } + + [Test] + public void ParameteredConstructor_AssessmentSectionIsNull_ThrowArgumentNullException() + { + // Setup + var calculationGroup = new CalculationGroup(); + var failureMechanismMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + // Call + TestDelegate call = () => new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, failureMechanismMock, null); + + // Assert + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, "Het traject mag niet 'null' zijn."); + mockRepository.VerifyAll(); + } + + [Test] + public void Attach_Observer_ObserverAttachedToCalculationGroup() + { + // Setup + var assessmentSectionMock = new MockRepository().StrictMock(); + var failureMechanismMock = mockRepository.StrictMock(); + var observerMock = mockRepository.StrictMock(); + observerMock.Expect(o => o.UpdateObserver()); + mockRepository.ReplayAll(); + + var calculationGroup = new CalculationGroup(); + + var context = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, + failureMechanismMock, assessmentSectionMock); + + // Call + context.Attach(observerMock); + + // Assert + calculationGroup.NotifyObservers(); // Notification on wrapped object + mockRepository.VerifyAll(); // Expected UpdateObserver call + } + + [Test] + public void Detach_Observer_ObserverDetachedFromCalculationGroup() + { + // Setup + var assessmentSectionMock = new MockRepository().StrictMock(); + var failureMechanismMock = mockRepository.StrictMock(); + var observer = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var calculationGroup = new CalculationGroup(); + + var context = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, + failureMechanismMock, assessmentSectionMock); + + // Precondition + context.Attach(observer); + + // Call + context.Detach(observer); + + // Assert + calculationGroup.NotifyObservers(); // Notification on wrapped object + mockRepository.VerifyAll(); // Expected no UpdateObserver call + } + + [Test] + public void NotifyObservers_ObserverAttachedToPipingCalculationGroup_NotificationCorrectlyPropagated() + { + // Setup + var assessmentSectionMock = new MockRepository().StrictMock(); + var failureMechanismMock = mockRepository.StrictMock(); + var observer = mockRepository.StrictMock(); + observer.Expect(o => o.UpdateObserver()); + mockRepository.ReplayAll(); + + var calculationGroup = new CalculationGroup(); + + var context = new GrassCoverErosionInwardsCalculationGroupContext(calculationGroup, + failureMechanismMock, assessmentSectionMock); + + calculationGroup.Attach(observer); // Attach to wrapped object + + // Call + context.NotifyObservers(); // Notification on context + + // Assert + mockRepository.VerifyAll(); + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsContextTest.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsContextTest.cs (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PresentationObjects/GrassCoverErosionInwardsContextTest.cs (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -0,0 +1,297 @@ +// 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; +using Core.Common.Base; +using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects; + +namespace Ringtoets.GrassCoverErosionInwards.Forms.Test.PresentationObjects +{ + [TestFixture] + public class GrassCoverErosionInwardsContextTest + { + private MockRepository mockRepository; + + [SetUp] + public void SetUp() + { + mockRepository = new MockRepository(); + } + + [Test] + public void ParameteredConstructor_ExpectedValues() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var target = new ObservableObject(); + + // Call + var context = new SimpleGrassCoverErosionInwardsContext(target, assessmentSectionMock); + + // Assert + Assert.IsInstanceOf(context); + + Assert.AreSame(target, context.WrappedData); + + mockRepository.VerifyAll(); + } + + [Test] + public void ParameteredConstructor_DataIsNull_ThrowArgumentNullException() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + // Call + TestDelegate call = () => new SimpleGrassCoverErosionInwardsContext(null, + assessmentSectionMock); + + // Assert + var exception = Assert.Throws(call); + string customMessage = exception.Message.Split(new[] + { + Environment.NewLine + }, StringSplitOptions.None)[0]; + Assert.AreEqual("Wrapped data of context cannot be null.", customMessage); + mockRepository.VerifyAll(); + } + + [Test] + public void Attach_Observer_ObserverAttachedToWrappedObject() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + var observerMock = mockRepository.StrictMock(); + observerMock.Expect(o => o.UpdateObserver()); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + // Call + context.Attach(observerMock); + + // Assert + observableObject.NotifyObservers(); // Notification on wrapped object + mockRepository.VerifyAll(); // Expected UpdateObserver call + } + + [Test] + public void Detach_Observer_ObserverDetachedFromWrappedObject() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + var observerMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + // Precondition + context.Attach(observerMock); + + // Call + context.Detach(observerMock); + + // Assert + observableObject.NotifyObservers(); // Notification on wrapped object + mockRepository.VerifyAll(); // Expected no UpdateObserver call + } + + [Test] + public void NotifyObservers_ObserverAttachedToWrappedObject_NotificationCorrectlyPropagated() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + var observerMock = mockRepository.StrictMock(); + observerMock.Expect(o => o.UpdateObserver()); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + // Precondition + observableObject.Attach(observerMock); // Attach to wrapped object + + // Call + context.NotifyObservers(); // Notification on context + + // Assert + mockRepository.VerifyAll(); + } + + [Test] + public void Equals_ToItself_ReturnTrue() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + // Call + bool isEqual = context.Equals(context); + + // Assert + Assert.IsTrue(isEqual); + mockRepository.VerifyAll(); + } + + [Test] + public void Equals_ToNull_ReturnFalse() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + // Call + bool isEqual = context.Equals(null); + + // Assert + Assert.IsFalse(isEqual); + mockRepository.VerifyAll(); + } + + [Test] + public void Equals_ToEqualOtherInstance_ReturnTrue() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + var otherContext = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + // Call + bool isEqual = context.Equals(otherContext); + bool isEqual2 = otherContext.Equals(context); + + // Assert + Assert.IsTrue(isEqual); + Assert.IsTrue(isEqual2); + mockRepository.VerifyAll(); + } + + [Test] + public void Equals_ToInequalOtherInstance_ReturnFalse() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + var otherObservableObject = new ObservableObject(); + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + var otherContext = new SimpleGrassCoverErosionInwardsContext(otherObservableObject, + assessmentSectionMock); + + // Call + bool isEqual = context.Equals(otherContext); + bool isEqual2 = otherContext.Equals(context); + + // Assert + Assert.IsFalse(isEqual); + Assert.IsFalse(isEqual2); + mockRepository.VerifyAll(); + } + + [Test] + public void Equals_ToOtherGenericType_ReturnFalse() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + var observableStub = mockRepository.Stub(); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + var otherContext = new SimpleGrassCoverErosionInwardsContext(observableStub, + assessmentSectionMock); + + // Call + bool isEqual = context.Equals(otherContext); + bool isEqual2 = otherContext.Equals(context); + + // Assert + Assert.IsFalse(isEqual); + Assert.IsFalse(isEqual2); + mockRepository.VerifyAll(); + } + + [Test] + public void GetHashCode_TwoContextInstancesEqualToEachOther_ReturnIdenticalHashes() + { + // Setup + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + var observableObject = new ObservableObject(); + var context = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + + var otherContext = new SimpleGrassCoverErosionInwardsContext(observableObject, + assessmentSectionMock); + // Precondition + Assert.True(context.Equals(otherContext)); + + // Call + int contextHashCode = context.GetHashCode(); + int otherContextHashCode = otherContext.GetHashCode(); + + // Assert + Assert.AreEqual(contextHashCode, otherContextHashCode); + mockRepository.VerifyAll(); + } + + private class ObservableObject : Observable {} + + private class SimpleGrassCoverErosionInwardsContext : GrassCoverErosionInwardsContext where T : IObservable + { + public SimpleGrassCoverErosionInwardsContext(T target, IAssessmentSection assessmentSection) + : base(target, assessmentSection) {} + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj =================================================================== diff -u -r684b8c0ca681ea2da3cc988bd60e9223037e5a16 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj) (revision 684b8c0ca681ea2da3cc988bd60e9223037e5a16) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Forms.Test.csproj) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -60,6 +60,8 @@ + + Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/GrassCoverErosionInwardsGuiPluginTest.cs =================================================================== diff -u -rb28f56d6bb3f14141bd003dd43378f8002a9e87a -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/GrassCoverErosionInwardsGuiPluginTest.cs (.../GrassCoverErosionInwardsGuiPluginTest.cs) (revision b28f56d6bb3f14141bd003dd43378f8002a9e87a) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Plugin.Test/GrassCoverErosionInwardsGuiPluginTest.cs (.../GrassCoverErosionInwardsGuiPluginTest.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -87,8 +87,9 @@ TreeNodeInfo[] treeNodeInfos = guiPlugin.GetTreeNodeInfos().ToArray(); // assert - Assert.AreEqual(1, treeNodeInfos.Length); + Assert.AreEqual(2, treeNodeInfos.Length); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(GrassCoverErosionInwardsFailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(GrassCoverErosionInwardsCalculationGroupContext))); } mocks.VerifyAll(); } Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r9f4fd0f8b9c2aa65c16de47b3063282e81e4a6c3 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 9f4fd0f8b9c2aa65c16de47b3063282e81e4a6c3) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -61,16 +61,6 @@ } /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap AddFolderIcon { - get { - object obj = ResourceManager.GetObject("AddFolderIcon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// /// Looks up a localized string similar to Karakteristieke punten. /// public static string Categories_Characteristic_points { @@ -233,16 +223,6 @@ } /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap FolderIcon { - get { - object obj = ResourceManager.GetObject("FolderIcon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// /// Looks up a localized string similar to De parameter 'a' die gebruikt wordt voor het lengte effect in berekening van de maximaal toelaatbare faalkans.. /// public static string GeneralPipingInput_A_Description { @@ -633,24 +613,6 @@ } /// - /// Looks up a localized string similar to &Map toevoegen. - /// - public static string PipingCalculationGroup_Add_PipingCalculationGroup { - get { - return ResourceManager.GetString("PipingCalculationGroup_Add_PipingCalculationGroup", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.. - /// - public static string PipingCalculationGroup_Add_PipingCalculationGroup_ToolTip { - get { - return ResourceManager.GetString("PipingCalculationGroup_Add_PipingCalculationGroup_ToolTip", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Valideer en voer alle berekeningen binnen deze berekeningsmap uit.. /// public static string PipingCalculationGroup_CalculateAll_ToolTip { @@ -861,15 +823,6 @@ } /// - /// Looks up a localized string similar to Voeg een nieuwe berekeningsmap toe aan dit faalmechanisme.. - /// - public static string PipingFailureMechanism_Add_PipingCalculationGroup_Tooltip { - get { - return ResourceManager.GetString("PipingFailureMechanism_Add_PipingCalculationGroup_Tooltip", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Er zijn geen berekeningen om uit te voeren.. /// public static string PipingFailureMechanism_CreateCalculateAllItem_No_calculations_to_run { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx =================================================================== diff -u -r9f4fd0f8b9c2aa65c16de47b3063282e81e4a6c3 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision 9f4fd0f8b9c2aa65c16de47b3063282e81e4a6c3) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -120,10 +120,6 @@ Algemeen - - - ..\Resources\folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - Waterstand met een overschrijdingsfrequentie gelijk aan de trajectnorm. @@ -247,6 +243,7 @@ Coëfficiënt van White [-] + ..\Resources\control_equalizer_blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -424,15 +421,6 @@ ..\Resources\control-record.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\folder_add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - &Map toevoegen - - - Voeg een nieuwe berekeningsmap toe aan dit faalmechanisme. - Berekeningsmap @@ -472,9 +460,6 @@ Het soort kansverdeling waarin deze parameter gedefinieerd wordt. - - Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap. - Voeg een nieuwe berekening toe aan deze berekeningsmap. Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Resources/folder-stand.png =================================================================== diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rabb2667229e96d5b8158981c890a5c7046e9ca66 Binary files differ Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Resources/folder.png =================================================================== diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rabb2667229e96d5b8158981c890a5c7046e9ca66 Binary files differ Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Resources/folder_add.png =================================================================== diff -u -r495647ee1c652fecc15eea7fefeab29ae01347fe -rabb2667229e96d5b8158981c890a5c7046e9ca66 Binary files differ Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj =================================================================== diff -u -rcda9bb0707f49cfb8e685d3ec04da01240c73f26 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision cda9bb0707f49cfb8e685d3ec04da01240c73f26) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -219,15 +219,11 @@ Copying.licenseheader - - - - @@ -239,7 +235,6 @@ - Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r887b289acf19a81f62d78f371ab70c3f82812b95 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 887b289acf19a81f62d78f371ab70c3f82812b95) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -88,7 +88,7 @@ { GetViewData = context => context.WrappedData, GetViewName = (view, calculationGroup) => calculationGroup.Name, - Image = PipingFormsResources.FolderIcon, + Image = RingtoetsCommonFormsResources.GeneralFolderIcon, AdditionalDataCheck = context => context.WrappedData == context.PipingFailureMechanism.CalculationsGroup, CloseForData = ClosePipingCalculationsViewForData, AfterCreate = (view, context) => @@ -124,7 +124,7 @@ yield return new TreeNodeInfo { Text = pipingCalculationGroupContext => pipingCalculationGroupContext.WrappedData.Name, - Image = pipingCalculationGroupContext => PipingFormsResources.FolderIcon, + Image = pipingCalculationGroupContext => RingtoetsCommonFormsResources.GeneralFolderIcon, EnsureVisibleOnCreate = pipingCalculationGroupContext => true, ChildNodeObjects = PipingCalculationGroupContextChildNodeObjects, ContextMenuStrip = PipingCalculationGroupContextContextMenuStrip, @@ -153,7 +153,7 @@ yield return new TreeNodeInfo { Text = ringtoetsPipingSurfaceLine => PipingFormsResources.PipingSurfaceLinesCollection_DisplayName, - Image = ringtoetsPipingSurfaceLine => PipingFormsResources.FolderIcon, + Image = ringtoetsPipingSurfaceLine => RingtoetsCommonFormsResources.GeneralFolderIcon, ForeColor = ringtoetsPipingSurfaceLine => ringtoetsPipingSurfaceLine.FailureMechanism.SurfaceLines.Any() ? Color.FromKnownColor(KnownColor.ControlText) : Color.FromKnownColor(KnownColor.GrayText), ChildNodeObjects = ringtoetsPipingSurfaceLine => ringtoetsPipingSurfaceLine.FailureMechanism.SurfaceLines.Cast().ToArray(), ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) @@ -177,7 +177,7 @@ yield return new TreeNodeInfo { Text = stochasticSoilModelContext => PipingFormsResources.StochasticSoilProfileCollection_DisplayName, - Image = stochasticSoilModelContext => PipingFormsResources.FolderIcon, + Image = stochasticSoilModelContext => RingtoetsCommonFormsResources.GeneralFolderIcon, ForeColor = stochasticSoilModelContext => stochasticSoilModelContext.FailureMechanism.StochasticSoilModels.Any() ? Color.FromKnownColor(KnownColor.ControlText) : Color.FromKnownColor(KnownColor.GrayText), ChildNodeObjects = stochasticSoilModelContext => stochasticSoilModelContext.FailureMechanism.StochasticSoilModels.Cast().ToArray(), @@ -284,9 +284,9 @@ private ContextMenuStrip FailureMechanismContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl) { var addCalculationGroupItem = new StrictContextMenuItem( - PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup, - PipingFormsResources.PipingFailureMechanism_Add_PipingCalculationGroup_Tooltip, - PipingFormsResources.AddFolderIcon, + RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, + RingtoetsCommonFormsResources.FailureMechanism_Add_CalculationGroup_Tooltip, + RingtoetsCommonFormsResources.AddFolderIcon, (o, args) => AddCalculationGroup(pipingFailureMechanismContext.WrappedData) ); @@ -600,9 +600,9 @@ { var group = nodeData.WrappedData; var addCalculationGroupItem = new StrictContextMenuItem( - PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup, - PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup_ToolTip, - PipingFormsResources.AddFolderIcon, (o, args) => + RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, + RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup_ToolTip, + RingtoetsCommonFormsResources.AddFolderIcon, (o, args) => { var newGroup = new CalculationGroup { Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs =================================================================== diff -u -r887b289acf19a81f62d78f371ab70c3f82812b95 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision 887b289acf19a81f62d78f371ab70c3f82812b95) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingCalculationGroupContextTest.cs (.../PipingCalculationGroupContextTest.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -103,7 +103,7 @@ } [Test] - public void Attach_Observer_ObserverAttachedToPipingCalculationGroup() + public void Attach_Observer_ObserverAttachedToCalculationGroup() { // Setup var mocks = new MockRepository(); @@ -129,7 +129,7 @@ } [Test] - public void Detach_Observer_ObserverDetachedFromPipingCalculationGroup() + public void Detach_Observer_ObserverDetachedFromCalculationGroup() { // Setup var mocks = new MockRepository(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r887b289acf19a81f62d78f371ab70c3f82812b95 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision 887b289acf19a81f62d78f371ab70c3f82812b95) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -35,7 +35,6 @@ using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; -using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.FailureMechanism; @@ -48,6 +47,7 @@ using RingtoetsFormsResources = Ringtoets.Common.Forms.Properties.Resources; using PipingFormsResources = Ringtoets.Piping.Forms.Properties.Resources; using CoreCommonGuiResources = Core.Common.Gui.Properties.Resources; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Forms.Test.TreeNodeInfos { @@ -111,7 +111,7 @@ var image = info.Image(null); // Assert - TestHelper.AssertImagesAreEqual(PipingFormsResources.FolderIcon, image); + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.GeneralFolderIcon, image); } [Test] @@ -256,9 +256,9 @@ // Assert Assert.AreEqual(17, menu.Items.Count); TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationGroupIndex, - PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup, + RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, "Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.", - PipingFormsResources.AddFolderIcon); + RingtoetsCommonFormsResources.AddFolderIcon); TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationIndex, PipingFormsResources.PipingCalculationGroup_Add_PipingCalculation, "Voeg een nieuwe berekening toe aan deze berekeningsmap.", @@ -368,9 +368,9 @@ // Assert Assert.AreEqual(16, menu.Items.Count); TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationGroupIndex, - PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup, + RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, "Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.", - PipingFormsResources.AddFolderIcon); + RingtoetsCommonFormsResources.AddFolderIcon); TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationIndex, PipingFormsResources.PipingCalculationGroup_Add_PipingCalculation, "Voeg een nieuwe berekening toe aan deze berekeningsmap.", @@ -475,9 +475,9 @@ var mainCalculationGroupContextMenuItemOffset = 4; Assert.AreEqual(18, menu.Items.Count); TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationGroupIndex + mainCalculationGroupContextMenuItemOffset, - PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup, + RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, "Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.", - PipingFormsResources.AddFolderIcon); + RingtoetsCommonFormsResources.AddFolderIcon); TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationIndex + mainCalculationGroupContextMenuItemOffset, PipingFormsResources.PipingCalculationGroup_Add_PipingCalculation, "Voeg een nieuwe berekening toe aan deze berekeningsmap.", Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismTreeNodeInfoTest.cs =================================================================== diff -u -r887b289acf19a81f62d78f371ab70c3f82812b95 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismTreeNodeInfoTest.cs (.../PipingFailureMechanismTreeNodeInfoTest.cs) (revision 887b289acf19a81f62d78f371ab70c3f82812b95) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismTreeNodeInfoTest.cs (.../PipingFailureMechanismTreeNodeInfoTest.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -46,6 +46,7 @@ using RingtoetsDataResources = Ringtoets.Common.Data.Properties.Resources; using PipingFormsResources = Ringtoets.Piping.Forms.Properties.Resources; using CoreCommonGuiResources = Core.Common.Gui.Properties.Resources; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Forms.Test.TreeNodeInfos { @@ -290,7 +291,7 @@ TestHelper.AssertContextMenuStripContainsItem(menu, 0, CoreCommonGuiResources.Open, CoreCommonGuiResources.Open_ToolTip, CoreCommonGuiResources.OpenIcon, false); - TestHelper.AssertContextMenuStripContainsItem(menu, 2, PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup, PipingFormsResources.PipingFailureMechanism_Add_PipingCalculationGroup_Tooltip, PipingFormsResources.AddFolderIcon); + TestHelper.AssertContextMenuStripContainsItem(menu, 2, RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, RingtoetsCommonFormsResources.FailureMechanism_Add_CalculationGroup_Tooltip, RingtoetsCommonFormsResources.AddFolderIcon); TestHelper.AssertContextMenuStripContainsItem(menu, 3, PipingFormsResources.PipingCalculationGroup_Add_PipingCalculation, PipingFormsResources.PipingFailureMechanism_Add_PipingCalculation_Tooltip, PipingFormsResources.PipingIcon); TestHelper.AssertContextMenuStripContainsItem(menu, 5, RingtoetsFormsResources.Validate_all, RingtoetsFormsResources.Validate_all_ToolTip, RingtoetsFormsResources.ValidateAllIcon); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/RingtoetsPipingSurfaceLineCollectionTreeNodeInfoTest.cs =================================================================== diff -u -rc4d2af65ad23757fb3bd11f93458839bc1787ded -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/RingtoetsPipingSurfaceLineCollectionTreeNodeInfoTest.cs (.../RingtoetsPipingSurfaceLineCollectionTreeNodeInfoTest.cs) (revision c4d2af65ad23757fb3bd11f93458839bc1787ded) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/RingtoetsPipingSurfaceLineCollectionTreeNodeInfoTest.cs (.../RingtoetsPipingSurfaceLineCollectionTreeNodeInfoTest.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -1,19 +1,18 @@ -using System.Collections.Generic; -using System.Drawing; +using System.Drawing; using System.Linq; using Core.Common.Controls.TreeView; using Core.Common.Gui; using Core.Common.Gui.ContextMenu; using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; -using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.PresentationObjects; using Ringtoets.Piping.Forms.Properties; using Ringtoets.Piping.Plugin; using Ringtoets.Piping.Primitives; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Forms.Test.TreeNodeInfos { @@ -84,7 +83,7 @@ var image = info.Image(ringtoetsPipingSurfaceLines); // Assert - TestHelper.AssertImagesAreEqual(Resources.FolderIcon, image); + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.GeneralFolderIcon, image); mocks.VerifyAll(); } @@ -153,7 +152,11 @@ var objects = info.ChildNodeObjects(ringtoetsPipingSurfaceLineContext); // Assert - CollectionAssert.AreEqual(new[] { ringtoetsPipingSurfaceLine1, ringtoetsPipingSurfaceLine2 }, objects); + CollectionAssert.AreEqual(new[] + { + ringtoetsPipingSurfaceLine1, + ringtoetsPipingSurfaceLine2 + }, objects); mocks.VerifyAll(); } Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/StochasticSoilModelContextTreeNodeInfoTest.cs =================================================================== diff -u -rc4d2af65ad23757fb3bd11f93458839bc1787ded -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/StochasticSoilModelContextTreeNodeInfoTest.cs (.../StochasticSoilModelContextTreeNodeInfoTest.cs) (revision c4d2af65ad23757fb3bd11f93458839bc1787ded) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/StochasticSoilModelContextTreeNodeInfoTest.cs (.../StochasticSoilModelContextTreeNodeInfoTest.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -28,13 +28,13 @@ using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; -using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.PresentationObjects; using Ringtoets.Piping.Forms.Properties; using Ringtoets.Piping.Plugin; using Ringtoets.Piping.Primitives; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Forms.Test.TreeNodeInfos { @@ -103,7 +103,7 @@ var image = info.Image(stochasticSoilModelContextMock); // Assert - TestHelper.AssertImagesAreEqual(Resources.FolderIcon, image); + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.GeneralFolderIcon, image); mocks.VerifyAll(); } Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingCalculationsViewInfoTest.cs =================================================================== diff -u -r887b289acf19a81f62d78f371ab70c3f82812b95 -rabb2667229e96d5b8158981c890a5c7046e9ca66 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingCalculationsViewInfoTest.cs (.../PipingCalculationsViewInfoTest.cs) (revision 887b289acf19a81f62d78f371ab70c3f82812b95) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingCalculationsViewInfoTest.cs (.../PipingCalculationsViewInfoTest.cs) (revision abb2667229e96d5b8158981c890a5c7046e9ca66) @@ -11,6 +11,7 @@ using Ringtoets.Piping.Forms.Views; using Ringtoets.Piping.Primitives; using PipingFormsResources = Ringtoets.Piping.Forms.Properties.Resources; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Plugin.Test.ViewInfos { @@ -41,7 +42,7 @@ // Assert Assert.AreEqual(typeof(PipingCalculationGroupContext), info.DataType); Assert.AreEqual(typeof(ICalculationGroup), info.ViewDataType); - TestHelper.AssertImagesAreEqual(PipingFormsResources.FolderIcon, info.Image); + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.GeneralFolderIcon, info.Image); } [Test]