Index: Ringtoets.sln =================================================================== diff -u -r0cee4ca4bd461457dd02143a3b6113c5156734b0 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets.sln (.../Ringtoets.sln) (revision 0cee4ca4bd461457dd02143a3b6113c5156734b0) +++ Ringtoets.sln (.../Ringtoets.sln) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -208,6 +208,11 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Common.Forms.Test", "Ringtoets\Common\test\Ringtoets.Common.Forms.Test\Ringtoets.Common.Forms.Test.csproj", "{886FDBE5-7065-4AB9-A894-869DBFD4E440}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Common.Data", "Ringtoets\Common\src\Ringtoets.Common.Data\Ringtoets.Common.Data.csproj", "{D4200F43-3F72-4F42-AF0A-8CED416A38EC}" + ProjectSection(ProjectDependencies) = postProject + {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CreateInstaller|x86 = CreateInstaller|x86 @@ -687,6 +692,14 @@ {886FDBE5-7065-4AB9-A894-869DBFD4E440}.Debug|x86.Build.0 = Debug|x86 {886FDBE5-7065-4AB9-A894-869DBFD4E440}.Release|x86.ActiveCfg = Release|x86 {886FDBE5-7065-4AB9-A894-869DBFD4E440}.Release|x86.Build.0 = Release|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.CreateInstaller|x86.ActiveCfg = Release|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.CreateInstaller|x86.Build.0 = Release|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.CreateInstallerWithDemoProject|x86.ActiveCfg = CreateInstallerWithDemoProject|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.CreateInstallerWithDemoProject|x86.Build.0 = CreateInstallerWithDemoProject|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.Debug|x86.ActiveCfg = Debug|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.Debug|x86.Build.0 = Debug|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.Release|x86.ActiveCfg = Release|x86 + {D4200F43-3F72-4F42-AF0A-8CED416A38EC}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -755,6 +768,7 @@ {BC8DB1E0-0428-4FB1-9A63-028C749A8AF9} = {041EDC04-3A1E-4FBA-BEB7-F391571C609F} {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5} = {0590D3BB-EB3E-4B53-BD64-1725E1CBB1F4} {4D840673-3812-4338-A352-84854E32B8A0} = {0590D3BB-EB3E-4B53-BD64-1725E1CBB1F4} + {D4200F43-3F72-4F42-AF0A-8CED416A38EC} = {0590D3BB-EB3E-4B53-BD64-1725E1CBB1F4} {886FDBE5-7065-4AB9-A894-869DBFD4E440} = {B5F4F5A5-FD36-405D-ABA1-56C270207C8F} {3ED34ACD-41C9-4251-81EC-7493E0BFF57D} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86} {1F0D20C2-7F04-431D-AF22-95A31FD53733} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86} Index: Ringtoets/Common/src/Ringtoets.Common.Data/IFailureMechanism.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Data/IFailureMechanism.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Data/IFailureMechanism.cs (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,10 @@ +namespace Ringtoets.Common.Data +{ + /// + /// Defines a failure mechanism. + /// + public interface IFailureMechanism + { + + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Data/Properties/AssemblyInfo.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Data/Properties/AssemblyInfo.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Properties/AssemblyInfo.cs (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,6 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Ringtoets.Common.Data")] +[assembly: AssemblyProduct("Ringtoets.Common.Data")] +[assembly: Guid("c22b2261-cf34-4632-84cf-be4e464c186a")] \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Data/Ringtoets.Common.Data.csproj =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Data/Ringtoets.Common.Data.csproj (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Ringtoets.Common.Data.csproj (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,51 @@ + + + + + Debug + AnyCPU + {D4200F43-3F72-4F42-AF0A-8CED416A38EC} + Library + Properties + Ringtoets.Common.Data + Ringtoets.Common.Data + v4.0 + 512 + + + x86 + bin\Debug\ + + + x86 + bin\Release\ + + + bin\CreateInstallerWithDemoProject\ + x86 + + + + + + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + \ No newline at end of file Index: Ringtoets/Demo/src/Ringtoets.Demo/Ringtoets.Demo.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Demo/src/Ringtoets.Demo/Ringtoets.Demo.csproj (.../Ringtoets.Demo.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Demo/src/Ringtoets.Demo/Ringtoets.Demo.csproj (.../Ringtoets.Demo.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -80,6 +80,10 @@ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} Core.Common.Utils + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {11f1f874-45af-43e4-8ae5-15a5c9593e28} Ringtoets.Integration.Data Index: Ringtoets/Demo/test/Ringtoets.Demo.Test/Ringtoets.Demo.Test.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Demo/test/Ringtoets.Demo.Test/Ringtoets.Demo.Test.csproj (.../Ringtoets.Demo.Test.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Demo/test/Ringtoets.Demo.Test/Ringtoets.Demo.Test.csproj (.../Ringtoets.Demo.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -65,6 +65,10 @@ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} Core.Common.Utils + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {11f1f874-45af-43e4-8ae5-15a5c9593e28} Ringtoets.Integration.Data Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSectionBase.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSectionBase.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSectionBase.cs (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,52 @@ +using System.Collections.Generic; + +using Core.Common.Base; + +using Ringtoets.Common.Data; +using Ringtoets.Integration.Data.Placeholders; +using Ringtoets.Integration.Data.Properties; + +namespace Ringtoets.Integration.Data +{ + /// + /// Base implementation of assessment sections. + /// + public abstract class AssessmentSectionBase : Observable + { + /// + /// Initializes a new instance of the class. + /// + protected AssessmentSectionBase() + { + Name = ""; + ReferenceLine = new InputPlaceholder(Resources.ReferenceLine_DisplayName); + FailureMechanismContribution = new InputPlaceholder(Resources.FailureMechanismContribution_DisplayName); + HydraulicBoundaryDatabase = new InputPlaceholder(Resources.HydraulicBoundaryDatabase_DisplayName); + } + + /// + /// Gets or sets the name of the assessment section. + /// + public string Name { get; set; } + + /// + /// Gets or sets the reference line defining the geometry of the dike assessment section. + /// + public InputPlaceholder ReferenceLine { get; private set; } + + /// + /// Gets or sets the contribution of each failure mechanism available in this assessment section. + /// + public InputPlaceholder FailureMechanismContribution { get; private set; } + + /// + /// Gets or sets the hydraulic boundary database. + /// + public InputPlaceholder HydraulicBoundaryDatabase { get; private set; } + + /// + /// Gets the failure mechanisms corresponding to the assessment section. + /// + public abstract IEnumerable GetFailureMechanisms(); + } +} \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/DikeAssessmentSection.cs =================================================================== diff -u -r5f0e26408a7b0a4c86b4525a6f80fc96fdc202f4 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Data/DikeAssessmentSection.cs (.../DikeAssessmentSection.cs) (revision 5f0e26408a7b0a4c86b4525a6f80fc96fdc202f4) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/DikeAssessmentSection.cs (.../DikeAssessmentSection.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -1,5 +1,8 @@ -using Core.Common.Base; +using System.Collections.Generic; +using Core.Common.Base; + +using Ringtoets.Common.Data; using Ringtoets.Integration.Data.Placeholders; using Ringtoets.Integration.Data.Properties; using Ringtoets.Piping.Data; @@ -9,17 +12,14 @@ /// /// The dike-based section to be assessed by the user for safety in regards of various failure mechanisms. /// - public class DikeAssessmentSection : Observable + public class DikeAssessmentSection : AssessmentSectionBase { /// /// Initializes a new instance of the class. /// public DikeAssessmentSection() { Name = Resources.DikeAssessmentSection_DisplayName; - ReferenceLine = new InputPlaceholder(Resources.ReferenceLine_DisplayName); - FailureMechanismContribution = new InputPlaceholder(Resources.FailureMechanismContribution_DisplayName); - HydraulicBoundaryDatabase = new InputPlaceholder(Resources.HydraulicBoundaryDatabase_DisplayName); PipingFailureMechanism = new PipingFailureMechanism(); GrassErosionFailureMechanism = new FailureMechanismPlaceholder(Resources.GrassErosionFailureMechanism_DisplayName); @@ -33,26 +33,6 @@ } /// - /// Gets or sets the name of the assessment section. - /// - public string Name { get; set; } - - /// - /// Gets or sets the reference line defining the geometry of the dike assessment section. - /// - public InputPlaceholder ReferenceLine { get; private set; } - - /// - /// Gets or sets the contribution of each failure mechanism available in this assessment section. - /// - public InputPlaceholder FailureMechanismContribution { get; private set; } - - /// - /// Gets or sets the hydraulic boundary database. - /// - public InputPlaceholder HydraulicBoundaryDatabase { get; private set; } - - /// /// Gets the "Piping" failure mechanism. /// public PipingFailureMechanism PipingFailureMechanism { get; private set; } @@ -96,5 +76,18 @@ /// Gets the "Grasbekledingen" failure mechanism. /// public FailureMechanismPlaceholder GrassRevetmentFailureMechanism { get; private set; } + + public override IEnumerable GetFailureMechanisms() + { + yield return PipingFailureMechanism; + yield return GrassErosionFailureMechanism; + yield return MacrostabilityInwardFailureMechanism; + yield return OvertoppingFailureMechanism; + yield return ClosingFailureMechanism; + yield return FailingOfConstructionFailureMechanism; + yield return StoneRevetmentFailureMechanism; + yield return AsphaltRevetmentFailureMechanism; + yield return GrassRevetmentFailureMechanism; + } } } \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/DuneAssessmentSection.cs =================================================================== diff -u -r34955c174d61a12249d526629093343389c8c8ca -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Data/DuneAssessmentSection.cs (.../DuneAssessmentSection.cs) (revision 34955c174d61a12249d526629093343389c8c8ca) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/DuneAssessmentSection.cs (.../DuneAssessmentSection.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -1,5 +1,6 @@ -using Core.Common.Base; +using System.Collections.Generic; +using Ringtoets.Common.Data; using Ringtoets.Integration.Data.Placeholders; using Ringtoets.Integration.Data.Properties; @@ -8,44 +9,26 @@ /// /// The dune-based section to be assessed by the user for safety in regards of various failure mechanisms. /// - public class DuneAssessmentSection : Observable + public class DuneAssessmentSection : AssessmentSectionBase { /// /// Initializes a new instance of the class. /// public DuneAssessmentSection() { Name = Resources.DuneAssessmentSection_DisplayName; - ReferenceLine = new InputPlaceholder(Resources.ReferenceLine_DisplayName); - FailureMechanismContribution = new InputPlaceholder(Resources.FailureMechanismContribution_DisplayName); - HydraulicBoundaryDatabase = new InputPlaceholder(Resources.HydraulicBoundaryDatabase_DisplayName); DuneErosionFailureMechanism = new FailureMechanismPlaceholder(Resources.DuneErosionFailureMechanism_DisplayName); } /// - /// Gets or sets the name of the dune assessment section. - /// - public string Name { get; set; } - - /// - /// Gets or sets the reference line defining the geometry of the dike assessment section. - /// - public InputPlaceholder ReferenceLine { get; private set; } - - /// - /// Gets or sets the contribution of each failure mechanism available in this assessment section. - /// - public InputPlaceholder FailureMechanismContribution { get; private set; } - - /// - /// Gets or sets the hydraulic boundary database. - /// - public InputPlaceholder HydraulicBoundaryDatabase { get; private set; } - - /// /// Gets the "Duin erosie" failure mechanism. /// public FailureMechanismPlaceholder DuneErosionFailureMechanism { get; private set; } + + public override IEnumerable GetFailureMechanisms() + { + yield return DuneErosionFailureMechanism; + } } } \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/Placeholders/FailureMechanismPlaceholder.cs =================================================================== diff -u -r71fa16075699948cabba65c56d646e0268fd2b89 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Data/Placeholders/FailureMechanismPlaceholder.cs (.../FailureMechanismPlaceholder.cs) (revision 71fa16075699948cabba65c56d646e0268fd2b89) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/Placeholders/FailureMechanismPlaceholder.cs (.../FailureMechanismPlaceholder.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -1,11 +1,12 @@ -using Ringtoets.Common.Placeholder; +using Ringtoets.Common.Data; +using Ringtoets.Common.Placeholder; namespace Ringtoets.Integration.Data.Placeholders { /// /// Defines a placeholder for unimplemented failure mechanisms objects /// - public class FailureMechanismPlaceholder : PlaceholderWithReadonlyName + public class FailureMechanismPlaceholder : PlaceholderWithReadonlyName, IFailureMechanism { /// /// Initializes a new instance of the class. Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/Ringtoets.Integration.Data.csproj =================================================================== diff -u -r34955c174d61a12249d526629093343389c8c8ca -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Data/Ringtoets.Integration.Data.csproj (.../Ringtoets.Integration.Data.csproj) (revision 34955c174d61a12249d526629093343389c8c8ca) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/Ringtoets.Integration.Data.csproj (.../Ringtoets.Integration.Data.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -47,6 +47,7 @@ Properties\GlobalAssembly.cs + @@ -67,6 +68,10 @@ {c90b77da-e421-43cc-b82e-529651bc21ac} Core.Common.Version + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {e38c11e0-4384-44dd-9f5b-ee73d79fd7f5} Ringtoets.Common.Placeholder Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/AssessmentSectionBaseNodePresenter.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/AssessmentSectionBaseNodePresenter.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/AssessmentSectionBaseNodePresenter.cs (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,66 @@ +using System.Collections; + +using Core.Common.Base; +using Core.Common.Controls; + +using Ringtoets.Common.Forms.NodePresenters; +using Ringtoets.Integration.Data; + +using RingtoetsFormsResources = Ringtoets.Integration.Forms.Properties.Resources; + +namespace Ringtoets.Integration.Forms.NodePresenters +{ + /// + /// Node presenter for items in the tree view. + /// + public class AssessmentSectionBaseNodePresenter : RingtoetsNodePresenterBase + { + protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, AssessmentSectionBase nodeData) + { + node.Text = nodeData.Name; + node.Image = RingtoetsFormsResources.AssessmentSectionFolderIcon; + } + + protected override IEnumerable GetChildNodeObjects(AssessmentSectionBase nodeData, ITreeNode node) + { + yield return nodeData.ReferenceLine; + yield return nodeData.FailureMechanismContribution; + yield return nodeData.HydraulicBoundaryDatabase; + foreach (var failureMechanism in nodeData.GetFailureMechanisms()) + { + yield return failureMechanism; + } + } + + public override bool CanRenameNode(ITreeNode node) + { + return true; + } + + public override bool CanRenameNodeTo(ITreeNode node, string newName) + { + return true; + } + + protected override void OnNodeRenamed(AssessmentSectionBase nodeData, string newName) + { + nodeData.Name = newName; + nodeData.NotifyObservers(); + } + + protected override bool CanRemove(object parentNodeData, AssessmentSectionBase nodeData) + { + return true; + } + + protected override bool RemoveNodeData(object parentNodeData, AssessmentSectionBase nodeData) + { + var parentProject = (Project) parentNodeData; + + parentProject.Items.Remove(nodeData); + parentProject.NotifyObservers(); + + return true; + } + } +} \ No newline at end of file Fisheye: Tag 5c044a6799b45bec77af170dca0a84bc434c5f6f refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/DikeAssessmentSectionNodePresenter.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/AssemblyInfo.cs =================================================================== diff -u -r71fa16075699948cabba65c56d646e0268fd2b89 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision 71fa16075699948cabba65c56d646e0268fd2b89) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -10,3 +10,4 @@ [assembly: Guid("29efee41-4016-4661-82b1-932c89986d24")] [assembly: InternalsVisibleTo("Ringtoets.Integration.Plugin")] [assembly: InternalsVisibleTo("Ringtoets.Integration.Forms.Test")] +[assembly: InternalsVisibleTo("Ringtoets.Integration.Plugin.Test")] Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r71fa16075699948cabba65c56d646e0268fd2b89 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 71fa16075699948cabba65c56d646e0268fd2b89) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -61,6 +61,24 @@ } /// + /// Looks up a localized string similar to Naam van het toetstraject.. + /// + internal static string AssessmentSectionBase_Name_Description { + get { + return ResourceManager.GetString("AssessmentSectionBase_Name_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Naam. + /// + internal static string AssessmentSectionBase_Name_DisplayName { + get { + return ResourceManager.GetString("AssessmentSectionBase_Name_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap AssessmentSectionFolderIcon { @@ -89,24 +107,15 @@ } /// - /// Looks up a localized string similar to Naam van het dijktraject.. + /// Looks up a localized string similar to Duintraject. /// - internal static string DikeAssessmentSection_Name_Description { + internal static string DuneAssessmentSection_DisplayName { get { - return ResourceManager.GetString("DikeAssessmentSection_Name_Description", resourceCulture); + return ResourceManager.GetString("DuneAssessmentSection_DisplayName", resourceCulture); } } /// - /// Looks up a localized string similar to Naam. - /// - internal static string DikeAssessmentSection_Name_DisplayName { - get { - return ResourceManager.GetString("DikeAssessmentSection_Name_DisplayName", resourceCulture); - } - } - - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap FailureMechanismIcon { Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.resx =================================================================== diff -u -r71fa16075699948cabba65c56d646e0268fd2b89 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.resx (.../Resources.resx) (revision 71fa16075699948cabba65c56d646e0268fd2b89) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.resx (.../Resources.resx) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -120,10 +120,10 @@ Dijktraject - - Naam van het dijktraject. + + Naam van het toetstraject. - + Naam @@ -142,4 +142,7 @@ ..\Resources\control-record.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Duintraject + \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/AssessmentSectionBaseProperties.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/AssessmentSectionBaseProperties.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/AssessmentSectionBaseProperties.cs (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,30 @@ +using Core.Common.Gui; +using Core.Common.Utils; + +using Ringtoets.Integration.Data; +using Ringtoets.Integration.Forms.Properties; + +namespace Ringtoets.Integration.Forms.PropertyClasses +{ + /// + /// ViewModel of for properties panel. + /// + public class AssessmentSectionBaseProperties : ObjectProperties + { + [ResourcesCategory(typeof(Resources), "Categories_General")] + [ResourcesDisplayName(typeof(Resources), "AssessmentSectionBase_Name_DisplayName")] + [ResourcesDescription(typeof(Resources), "AssessmentSectionBase_Name_Description")] + public string Name + { + get + { + return data.Name; + } + set + { + data.Name = value; + data.NotifyObservers(); + } + } + } +} \ No newline at end of file Fisheye: Tag 5c044a6799b45bec77af170dca0a84bc434c5f6f refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/DikeAssessmentSectionProperties.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Ringtoets.Integration.Forms.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Ringtoets.Integration.Forms.csproj (.../Ringtoets.Integration.Forms.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Ringtoets.Integration.Forms.csproj (.../Ringtoets.Integration.Forms.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -48,15 +48,15 @@ Properties\GlobalAssembly.cs - + True True Resources.resx - + @@ -79,6 +79,10 @@ {c90b77da-e421-43cc-b82e-529651bc21ac} Core.Common.Version + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {4d840673-3812-4338-a352-84854e32b8a0} Ringtoets.Common.Forms Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsApplicationPlugin.cs =================================================================== diff -u -r1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsApplicationPlugin.cs (.../RingtoetsApplicationPlugin.cs) (revision 1e08e4d88dc94cddaf7cbd38bdc2b42f263225bc) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsApplicationPlugin.cs (.../RingtoetsApplicationPlugin.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -23,6 +23,13 @@ Image = RingtoetsFormsResources.AssessmentSectionFolderIcon, CreateData = owner => new DikeAssessmentSection() }; + yield return new DataItemInfo + { + Name = RingtoetsFormsResources.DuneAssessmentSection_DisplayName, + Category = RingtoetsCommonFormsResources.Ringtoets_Category, + Image = RingtoetsFormsResources.AssessmentSectionFolderIcon, + CreateData = owner => new DuneAssessmentSection() + }; } } } \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs =================================================================== diff -u -r71fa16075699948cabba65c56d646e0268fd2b89 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 71fa16075699948cabba65c56d646e0268fd2b89) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -25,12 +25,12 @@ public override IEnumerable GetPropertyInfos() { - yield return new PropertyInfo(); + yield return new PropertyInfo(); } public override IEnumerable GetProjectTreeViewNodePresenters() { - yield return new DikeAssessmentSectionNodePresenter(); + yield return new AssessmentSectionBaseNodePresenter(); yield return new PlaceholderWithReadonlyNameNodePresenter(); } } Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionBaseTest.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionBaseTest.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionBaseTest.cs (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; + +using Core.Common.Base; + +using NUnit.Framework; + +using Ringtoets.Common.Data; + +namespace Ringtoets.Integration.Data.Test +{ + [TestFixture] + public class AssessmentSectionBaseTest + { + [Test] + public void DefaultConstructor_ExpectedValue() + { + // Call + var assessmentSection = new SimpleAssessmentSection(); + + // Assert + Assert.IsInstanceOf(assessmentSection); + Assert.AreEqual(String.Empty, assessmentSection.Name); + Assert.AreEqual("Referentielijn", assessmentSection.ReferenceLine.Name); + Assert.AreEqual("Faalkansverdeling", assessmentSection.FailureMechanismContribution.Name); + Assert.AreEqual("HR locatiedatabase", assessmentSection.HydraulicBoundaryDatabase.Name); + } + + private class SimpleAssessmentSection : AssessmentSectionBase { + public override IEnumerable GetFailureMechanisms() + { + throw new NotImplementedException(); + } + } + } +} \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DikeAssessmentSectionTest.cs =================================================================== diff -u -raa5c3620f316831e71797c558a13a0b73a8109df -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DikeAssessmentSectionTest.cs (.../DikeAssessmentSectionTest.cs) (revision aa5c3620f316831e71797c558a13a0b73a8109df) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DikeAssessmentSectionTest.cs (.../DikeAssessmentSectionTest.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -1,5 +1,7 @@ -using Core.Common.Base; +using System.Linq; +using Core.Common.Base; + using NUnit.Framework; using Ringtoets.Piping.Data; @@ -17,6 +19,7 @@ // Assert Assert.IsInstanceOf(section); + Assert.IsInstanceOf(section); Assert.AreEqual("Dijktraject", section.Name); Assert.AreEqual("Referentielijn", section.ReferenceLine.Name); @@ -49,5 +52,27 @@ // Assert Assert.AreEqual(newValue, section.Name); } + + [Test] + public void GetFailureMechanisms_Always_ReturnAllFailureMechanisms() + { + // Setup + var assessmentSection = new DikeAssessmentSection(); + + // Call + var failureMechanisms = assessmentSection.GetFailureMechanisms().ToArray(); + + // Assert + Assert.AreEqual(9, failureMechanisms.Length); + Assert.AreSame(assessmentSection.PipingFailureMechanism, failureMechanisms[0]); + Assert.AreSame(assessmentSection.GrassErosionFailureMechanism, failureMechanisms[1]); + Assert.AreSame(assessmentSection.MacrostabilityInwardFailureMechanism, failureMechanisms[2]); + Assert.AreSame(assessmentSection.OvertoppingFailureMechanism, failureMechanisms[3]); + Assert.AreSame(assessmentSection.ClosingFailureMechanism, failureMechanisms[4]); + Assert.AreSame(assessmentSection.FailingOfConstructionFailureMechanism, failureMechanisms[5]); + Assert.AreSame(assessmentSection.StoneRevetmentFailureMechanism, failureMechanisms[6]); + Assert.AreSame(assessmentSection.AsphaltRevetmentFailureMechanism, failureMechanisms[7]); + Assert.AreSame(assessmentSection.GrassRevetmentFailureMechanism, failureMechanisms[8]); + } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DuneAssessmentSectionTest.cs =================================================================== diff -u -r34955c174d61a12249d526629093343389c8c8ca -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DuneAssessmentSectionTest.cs (.../DuneAssessmentSectionTest.cs) (revision 34955c174d61a12249d526629093343389c8c8ca) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DuneAssessmentSectionTest.cs (.../DuneAssessmentSectionTest.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -1,5 +1,7 @@ -using Core.Common.Base; +using System.Linq; +using Core.Common.Base; + using NUnit.Framework; namespace Ringtoets.Integration.Data.Test @@ -15,11 +17,27 @@ // Assert Assert.IsInstanceOf(section); + Assert.IsInstanceOf(section); + Assert.AreEqual("Duintraject", section.Name); Assert.AreEqual("Referentielijn", section.ReferenceLine.Name); Assert.AreEqual("Faalkansverdeling", section.FailureMechanismContribution.Name); Assert.AreEqual("HR locatiedatabase", section.HydraulicBoundaryDatabase.Name); Assert.AreEqual("Duinen - Erosie", section.DuneErosionFailureMechanism.Name); - } + } + + [Test] + public void GetFailureMechanisms_Always_ReturnAllFailureMechanisms() + { + // Setup + var assessmentSection = new DuneAssessmentSection(); + + // Call + var failureMechanisms = assessmentSection.GetFailureMechanisms().ToArray(); + + // Assert + Assert.AreEqual(1, failureMechanisms.Length); + Assert.AreSame(assessmentSection.DuneErosionFailureMechanism, failureMechanisms[0]); + } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj =================================================================== diff -u -r34955c174d61a12249d526629093343389c8c8ca -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (.../Ringtoets.Integration.Data.Test.csproj) (revision 34955c174d61a12249d526629093343389c8c8ca) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (.../Ringtoets.Integration.Data.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -47,6 +47,7 @@ + @@ -56,6 +57,10 @@ {3bbfd65b-b277-4e50-ae6d-bd24c3434609} Core.Common.Base + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {e38c11e0-4384-44dd-9f5b-ee73d79fd7f5} Ringtoets.Common.Placeholder Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/AssessmentSectionBaseNodePresenterTest.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/AssessmentSectionBaseNodePresenterTest.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/AssessmentSectionBaseNodePresenterTest.cs (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -0,0 +1,387 @@ +using System.ComponentModel; +using System.Linq; + +using Core.Common.Base; +using Core.Common.Controls; +using Core.Common.Utils.Collections; + +using NUnit.Framework; + +using Rhino.Mocks; + +using Ringtoets.Integration.Data; +using Ringtoets.Integration.Forms.NodePresenters; + +namespace Ringtoets.Integration.Forms.Test.NodePresenters +{ + [TestFixture] + public class AssessmentSectionBaseNodePresenterTest + { + [Test] + public void DefaultConstructor_ExpectedValues() + { + // Call + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Assert + Assert.IsInstanceOf(nodePresenter); + Assert.IsNull(nodePresenter.TreeView); + Assert.AreEqual(typeof(AssessmentSectionBase), nodePresenter.NodeTagType); + } + + [Test] + public void UpdateNode_WithData_InitializeNode() + { + // Setup + const string projectName = ""; + + var mocks = new MockRepository(); + var projectNode = mocks.Stub(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + var assessmentSection = new DikeAssessmentSection + { + Name = projectName + }; + + // Call + nodePresenter.UpdateNode(null, projectNode, assessmentSection); + + // Assert + Assert.AreEqual(projectName, projectNode.Text); + Assert.AreEqual(16, projectNode.Image.Height); + Assert.AreEqual(16, projectNode.Image.Width); + } + + [Test] + public void GetChildNodeObjects_DataIsDikeAssessmentSection_ReturnDikeInputsAndFailureMechanisms() + { + // Setup + var mocks = new MockRepository(); + var nodeMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + var assessmentSection = new DikeAssessmentSection(); + + // Call + var children = nodePresenter.GetChildNodeObjects(assessmentSection, nodeMock).Cast().AsList(); + + // Assert + Assert.AreEqual(12, children.Count); + Assert.AreSame(assessmentSection.ReferenceLine, children[0]); + Assert.AreSame(assessmentSection.FailureMechanismContribution, children[1]); + Assert.AreSame(assessmentSection.HydraulicBoundaryDatabase, children[2]); + Assert.AreSame(assessmentSection.PipingFailureMechanism, children[3]); + Assert.AreSame(assessmentSection.GrassErosionFailureMechanism, children[4]); + Assert.AreSame(assessmentSection.MacrostabilityInwardFailureMechanism, children[5]); + Assert.AreSame(assessmentSection.OvertoppingFailureMechanism, children[6]); + Assert.AreSame(assessmentSection.ClosingFailureMechanism, children[7]); + Assert.AreSame(assessmentSection.FailingOfConstructionFailureMechanism, children[8]); + Assert.AreSame(assessmentSection.StoneRevetmentFailureMechanism, children[9]); + Assert.AreSame(assessmentSection.AsphaltRevetmentFailureMechanism, children[10]); + Assert.AreSame(assessmentSection.GrassRevetmentFailureMechanism, children[11]); + mocks.VerifyAll(); // Expect no calls on tree node + } + + [Test] + public void GetChildNodeObjects_DataIsDuneAssessmentSection_ReturnDuneInputsAndFailureMechanisms() + { + // Setup + var mocks = new MockRepository(); + var nodeMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + var assessmentSection = new DuneAssessmentSection(); + + // Call + var children = nodePresenter.GetChildNodeObjects(assessmentSection, nodeMock).Cast().AsList(); + + // Assert + Assert.AreEqual(4, children.Count); + Assert.AreSame(assessmentSection.ReferenceLine, children[0]); + Assert.AreSame(assessmentSection.FailureMechanismContribution, children[1]); + Assert.AreSame(assessmentSection.HydraulicBoundaryDatabase, children[2]); + Assert.AreSame(assessmentSection.DuneErosionFailureMechanism, children[3]); + mocks.VerifyAll(); // Expect no calls on tree node + } + + [Test] + public void CanRenameNode_Always_ReturnTrue() + { + // Setup + var mocks = new MockRepository(); + var nodeMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + var renameAllowed = nodePresenter.CanRenameNode(nodeMock); + + // Assert + Assert.IsTrue(renameAllowed); + mocks.VerifyAll(); // Expect no calls on tree node + } + + [Test] + public void CanRenameNodeTo_Always_ReturnTrue() + { + // Setup + var mocks = new MockRepository(); + var nodeMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + var renameAllowed = nodePresenter.CanRenameNodeTo(nodeMock, ""); + + // Assert + Assert.IsTrue(renameAllowed); + mocks.ReplayAll(); // Expect no calls on tree node + } + + [Test] + public void OnNodeRenamed_WithData_SetProjectNameWithNotification() + { + // Setup + var mocks = new MockRepository(); + var assessmentSectionObserver = mocks.StrictMock(); + assessmentSectionObserver.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + var assessmentSection = new DikeAssessmentSection(); + assessmentSection.Attach(assessmentSectionObserver); + + // Call + const string newName = "New Name"; + nodePresenter.OnNodeRenamed(assessmentSection, newName); + + // Assert + Assert.AreEqual(newName, assessmentSection.Name); + mocks.VerifyAll(); + } + + [Test] + public void OnNodeChecked_Always_DoNothing() + { + // Setup + var mocks = new MockRepository(); + var nodeMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + nodePresenter.OnNodeChecked(nodeMock); + + // Assert + mocks.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 nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + DragOperations dragAllowed = nodePresenter.CanDrag(dataMock); + + // Assert + Assert.AreEqual(DragOperations.None, dragAllowed); + mocks.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 nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + DragOperations dropAllowed = nodePresenter.CanDrop(dataMock, sourceMock, targetMock, DragOperations.Move); + + // Assert + Assert.AreEqual(DragOperations.None, dropAllowed); + mocks.VerifyAll(); // Expect no calls on mocks. + } + + [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 nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + bool insertionAllowed = nodePresenter.CanInsert(dataMock, sourceMock, targetMock); + + // Assert + Assert.IsFalse(insertionAllowed); + mocks.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 nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + nodePresenter.OnDragDrop(dataMock, sourceParentNodeMock, targetParentNodeDataMock, DragOperations.Move, 2); + + // Assert + mocks.VerifyAll(); // Expect no calls on arguments + } + + [Test] + public void OnNodeSelected_Always_DoNothing() + { + // Setup + var mocks = new MockRepository(); + var dataMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + nodePresenter.OnNodeSelected(dataMock); + + // Assert + mocks.VerifyAll(); // Expect no calls on arguments + } + + [Test] + public void GetContextMenu_Always_ReturnsNull() + { + // Setup + var mocks = new MockRepository(); + var nodeMock = mocks.StrictMock(); + var assessmentSection = new DikeAssessmentSection(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + var contextMenu = nodePresenter.GetContextMenu(nodeMock, assessmentSection); + + // Assert + Assert.IsNull(contextMenu); + mocks.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 nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + nodePresenter.OnPropertyChanged(dataMock, nodeMock, eventArgsMock); + + // Assert + mocks.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 nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + nodePresenter.OnCollectionChanged(dataMock, eventArgsMock); + + // Assert + mocks.VerifyAll(); // Expect no calls on arguments + } + + [Test] + public void CanRemove_Always_ReturnTrue() + { + // Setup + var mocks = new MockRepository(); + var dataMock = mocks.StrictMock(); + var nodeMock = mocks.StrictMock(); + mocks.ReplayAll(); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + bool removalAllowed = nodePresenter.CanRemove(nodeMock, dataMock); + + // Assert + Assert.IsTrue(removalAllowed); + mocks.VerifyAll(); // Expect no calls on arguments + } + + [Test] + public void RemoveNodeData_ProjectWithAssessmentSection_ReturnTrueAndRemoveAssessmentSection() + { + // Setup + var mocks = new MockRepository(); + + var observerMock = mocks.StrictMock(); + observerMock.Expect(o => o.UpdateObserver()); + + mocks.ReplayAll(); + + var assessmentSection = new DikeAssessmentSection(); + + var project = new Project(); + project.Items.Add(assessmentSection); + project.Attach(observerMock); + + var nodePresenter = new AssessmentSectionBaseNodePresenter(); + + // Call + bool removalSuccesful = nodePresenter.RemoveNodeData(project, assessmentSection); + + // Assert + Assert.IsTrue(removalSuccesful); + CollectionAssert.DoesNotContain(project.Items, assessmentSection); + mocks.VerifyAll(); + } + } +} \ No newline at end of file Fisheye: Tag 5c044a6799b45bec77af170dca0a84bc434c5f6f refers to a dead (removed) revision in file `Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/DikeAssessmentSectionNodePresenterTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/DikeAssessmentSectionPropertiesTest.cs =================================================================== diff -u -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/DikeAssessmentSectionPropertiesTest.cs (.../DikeAssessmentSectionPropertiesTest.cs) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/DikeAssessmentSectionPropertiesTest.cs (.../DikeAssessmentSectionPropertiesTest.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -17,10 +17,10 @@ public void DefaultConstructor_ExpectedValues() { // Call - var properties = new DikeAssessmentSectionProperties(); + var properties = new AssessmentSectionBaseProperties(); // Assert - Assert.IsInstanceOf>(properties); + Assert.IsInstanceOf>(properties); Assert.IsNull(properties.Data); } @@ -33,7 +33,7 @@ Name = "Test" }; - var properties = new DikeAssessmentSectionProperties + var properties = new AssessmentSectionBaseProperties { Data = assessmentSection }; @@ -54,7 +54,7 @@ var assessmentSection = new DikeAssessmentSection(); assessmentSection.Attach(projectObserver); - var properties = new DikeAssessmentSectionProperties + var properties = new AssessmentSectionBaseProperties { Data = assessmentSection }; Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Ringtoets.Integration.Forms.Test.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Ringtoets.Integration.Forms.Test.csproj (.../Ringtoets.Integration.Forms.Test.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Ringtoets.Integration.Forms.Test.csproj (.../Ringtoets.Integration.Forms.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -52,7 +52,7 @@ - + @@ -78,6 +78,10 @@ {d749ee4c-ce50-4c17-bf01-9a953028c126} Core.Common.TestUtils + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {4d840673-3812-4338-a352-84854e32b8a0} Ringtoets.Common.Forms Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (.../Ringtoets.Integration.Plugin.Test.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (.../Ringtoets.Integration.Plugin.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -77,6 +77,10 @@ {30e4c2ae-719e-4d70-9fa9-668a9767fbfa} Core.Common.Gui + + {d749ee4c-ce50-4c17-bf01-9a953028c126} + Core.Common.TestUtils + {4d840673-3812-4338-a352-84854e32b8a0} Ringtoets.Common.Forms Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (.../RingtoetsApplicationPluginTest.cs) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (.../RingtoetsApplicationPluginTest.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -1,10 +1,12 @@ using System.Linq; using Core.Common.Base; +using Core.Common.TestUtils; using NUnit.Framework; using Ringtoets.Integration.Data; +using RingtoetsFormsResources = Ringtoets.Integration.Forms.Properties.Resources; namespace Ringtoets.Integration.Plugin.Test { @@ -31,16 +33,23 @@ var dataItemDefinitions = plugin.GetDataItemInfos().ToArray(); // assert - Assert.AreEqual(1, dataItemDefinitions.Length); + Assert.AreEqual(2, dataItemDefinitions.Length); - DataItemInfo AssessmentSectionDataItemDefinition = dataItemDefinitions.Single(did => did.ValueType == typeof(DikeAssessmentSection)); - Assert.AreEqual("Dijktraject", AssessmentSectionDataItemDefinition.Name); - Assert.AreEqual("Algemeen", AssessmentSectionDataItemDefinition.Category); - Assert.AreEqual(16, AssessmentSectionDataItemDefinition.Image.Width); - Assert.AreEqual(16, AssessmentSectionDataItemDefinition.Image.Height); - Assert.IsNull(AssessmentSectionDataItemDefinition.AdditionalOwnerCheck); - Assert.IsInstanceOf(AssessmentSectionDataItemDefinition.CreateData(null)); - Assert.IsNull(AssessmentSectionDataItemDefinition.AddExampleData); + DataItemInfo dikeAssessmentSectionDataItemDefinition = dataItemDefinitions.Single(did => did.ValueType == typeof(DikeAssessmentSection)); + Assert.AreEqual("Dijktraject", dikeAssessmentSectionDataItemDefinition.Name); + Assert.AreEqual("Algemeen", dikeAssessmentSectionDataItemDefinition.Category); + TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.AssessmentSectionFolderIcon, dikeAssessmentSectionDataItemDefinition.Image); + Assert.IsNull(dikeAssessmentSectionDataItemDefinition.AdditionalOwnerCheck); + Assert.IsInstanceOf(dikeAssessmentSectionDataItemDefinition.CreateData(null)); + Assert.IsNull(dikeAssessmentSectionDataItemDefinition.AddExampleData); + + DataItemInfo duneAssessmentDataItemDefinition = dataItemDefinitions.Single(did => did.ValueType == typeof(DuneAssessmentSection)); + Assert.AreEqual("Duintraject", duneAssessmentDataItemDefinition.Name); + Assert.AreEqual("Algemeen", duneAssessmentDataItemDefinition.Category); + TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.AssessmentSectionFolderIcon, dikeAssessmentSectionDataItemDefinition.Image); + Assert.IsNull(duneAssessmentDataItemDefinition.AdditionalOwnerCheck); + Assert.IsInstanceOf(duneAssessmentDataItemDefinition.CreateData(null)); + Assert.IsNull(duneAssessmentDataItemDefinition.AddExampleData); } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs =================================================================== diff -u -r71fa16075699948cabba65c56d646e0268fd2b89 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (.../RingtoetsGuiPluginTest.cs) (revision 71fa16075699948cabba65c56d646e0268fd2b89) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (.../RingtoetsGuiPluginTest.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -44,8 +44,8 @@ // assert Assert.AreEqual(1, propertyInfos.Length); - var assessmentSectionProperties = propertyInfos.Single(pi => pi.ObjectType == typeof(DikeAssessmentSection)); - Assert.AreEqual(typeof(DikeAssessmentSectionProperties), assessmentSectionProperties.PropertyType); + var assessmentSectionProperties = propertyInfos.Single(pi => pi.ObjectType == typeof(AssessmentSectionBase)); + Assert.AreEqual(typeof(AssessmentSectionBaseProperties), assessmentSectionProperties.PropertyType); Assert.IsNull(assessmentSectionProperties.AdditionalDataCheck); Assert.IsNull(assessmentSectionProperties.GetObjectPropertiesData); Assert.IsNull(assessmentSectionProperties.AfterCreate); @@ -73,7 +73,7 @@ // assert Assert.AreEqual(2, nodePresenters.Length); - Assert.IsTrue(nodePresenters.Any(np => np is DikeAssessmentSectionNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is AssessmentSectionBaseNodePresenter)); Assert.IsTrue(nodePresenters.Any(np => np is PlaceholderWithReadonlyNameNodePresenter)); } mocks.VerifyAll(); Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs =================================================================== diff -u -r71fa16075699948cabba65c56d646e0268fd2b89 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 71fa16075699948cabba65c56d646e0268fd2b89) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -1,12 +1,14 @@ using System.Collections.Generic; using Core.Common.Base; +using Ringtoets.Common.Data; + namespace Ringtoets.Piping.Data { /// /// Model for performing piping calculations. /// - public class PipingFailureMechanism : IObservable + public class PipingFailureMechanism : IObservable, IFailureMechanism { private readonly IList observers = new List(); Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj (.../Ringtoets.Piping.Data.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj (.../Ringtoets.Piping.Data.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -96,6 +96,10 @@ Core.Common.Version False + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -109,6 +109,10 @@ {c90b77da-e421-43cc-b82e-529651bc21ac} Core.Common.Version + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {4d840673-3812-4338-a352-84854e32b8a0} Ringtoets.Common.Forms Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs =================================================================== diff -u -r2a90c0c1be6114f72af65c42f0a6f334b30e4755 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 2a90c0c1be6114f72af65c42f0a6f334b30e4755) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -2,6 +2,8 @@ using NUnit.Framework; using Rhino.Mocks; +using Ringtoets.Common.Data; + namespace Ringtoets.Piping.Data.Test { [TestFixture] @@ -22,6 +24,7 @@ var piping = new PipingFailureMechanism(); // assert + Assert.IsInstanceOf(piping); CollectionAssert.IsEmpty(piping.SurfaceLines); Assert.IsInstanceOf>(piping.SurfaceLines); CollectionAssert.IsEmpty(piping.SoilProfiles); Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Ringtoets.Piping.Data.Test.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Ringtoets.Piping.Data.Test.csproj (.../Ringtoets.Piping.Data.Test.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/Ringtoets.Piping.Data.Test.csproj (.../Ringtoets.Piping.Data.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -80,6 +80,10 @@ {3bbfd65b-b277-4e50-ae6d-bd24c3434609} Core.Common.Base + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Ringtoets.Piping.Data Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj (.../Ringtoets.Piping.Forms.Test.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Ringtoets.Piping.Forms.Test.csproj (.../Ringtoets.Piping.Forms.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -99,6 +99,10 @@ {d749ee4c-ce50-4c17-bf01-9a953028c126} Core.Common.TestUtils + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {4d840673-3812-4338-a352-84854e32b8a0} Ringtoets.Common.Forms Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/Ringtoets.Piping.Integration.Test.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/Ringtoets.Piping.Integration.Test.csproj (.../Ringtoets.Piping.Integration.Test.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/Ringtoets.Piping.Integration.Test.csproj (.../Ringtoets.Piping.Integration.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -64,6 +64,10 @@ {D749EE4C-CE50-4C17-BF01-9A953028C126} Core.Common.TestUtils + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {D64E4F0E-E341-496F-82B2-941AD202B4E3} Ringtoets.Piping.Calculation Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj =================================================================== diff -u -r0d5ba527995a1b3de4041babb246d675e305d0c1 -r5c044a6799b45bec77af170dca0a84bc434c5f6f --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision 0d5ba527995a1b3de4041babb246d675e305d0c1) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision 5c044a6799b45bec77af170dca0a84bc434c5f6f) @@ -82,6 +82,10 @@ {d749ee4c-ce50-4c17-bf01-9a953028c126} Core.Common.TestUtils + + {d4200f43-3f72-4f42-af0a-8ced416a38ec} + Ringtoets.Common.Data + {4d840673-3812-4338-a352-84854e32b8a0} Ringtoets.Common.Forms