Index: Ringtoets.sln =================================================================== diff -u -r32b132d289373b9182dfd4abfb28a5c2e0ea5d8c -re4190343f86e5f4b5fa2bb60f9d5ec307d8053f5 --- Ringtoets.sln (.../Ringtoets.sln) (revision 32b132d289373b9182dfd4abfb28a5c2e0ea5d8c) +++ Ringtoets.sln (.../Ringtoets.sln) (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -176,6 +176,20 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Demo.Test", "Ringtoets\Demo\test\Ringtoets.Demo.Test\Ringtoets.Demo.Test.csproj", "{C48E2C11-3FDA-4356-A10F-757469A108FD}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Integration", "Integration", "{11FE8C37-49EB-4FF2-8583-DABC9816FFC8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{14E296C8-B6B9-458A-A402-68E8A0F9B97C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{88E04195-C43E-40D3-B5F2-3A25E1E79E03}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "uml", "uml", "{E53693A0-421A-4CB4-B6CA-5870DDFD5895}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Integration.Data", "Ringtoets\Integration\src\Ringtoets.Integration.Data\Ringtoets.Integration.Data.csproj", "{11F1F874-45AF-43E4-8AE5-15A5C9593E28}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Common.Placeholder", "Ringtoets\Common\src\Ringtoets.Common.Placeholder\Ringtoets.Common.Placeholder.csproj", "{E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Integration.Data.Test", "Ringtoets\Integration\test\Ringtoets.Integration.Data.Test\Ringtoets.Integration.Data.Test.csproj", "{16F1694E-1237-4B03-B34E-70E6871898FE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CreateInstaller|Any CPU = CreateInstaller|Any CPU @@ -1340,6 +1354,76 @@ {C48E2C11-3FDA-4356-A10F-757469A108FD}.Release|Mixed Platforms.Build.0 = Release|Any CPU {C48E2C11-3FDA-4356-A10F-757469A108FD}.Release|x86.ActiveCfg = Release|x86 {C48E2C11-3FDA-4356-A10F-757469A108FD}.Release|x86.Build.0 = Release|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstaller|Any CPU.ActiveCfg = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstaller|Any CPU.Build.0 = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstaller|Mixed Platforms.ActiveCfg = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstaller|Mixed Platforms.Build.0 = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstaller|x86.ActiveCfg = Release|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstaller|x86.Build.0 = Release|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstallerWithDemoProject|Any CPU.ActiveCfg = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstallerWithDemoProject|Any CPU.Build.0 = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstallerWithDemoProject|Mixed Platforms.ActiveCfg = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstallerWithDemoProject|Mixed Platforms.Build.0 = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstallerWithDemoProject|x86.ActiveCfg = CreateInstallerWithDemoProject|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.CreateInstallerWithDemoProject|x86.Build.0 = CreateInstallerWithDemoProject|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Debug|Any CPU.Build.0 = Debug|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Debug|x86.ActiveCfg = Debug|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Debug|x86.Build.0 = Debug|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Release|Any CPU.ActiveCfg = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Release|Any CPU.Build.0 = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Release|x86.ActiveCfg = Release|x86 + {11F1F874-45AF-43E4-8AE5-15A5C9593E28}.Release|x86.Build.0 = Release|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstaller|Any CPU.ActiveCfg = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstaller|Any CPU.Build.0 = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstaller|Mixed Platforms.ActiveCfg = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstaller|Mixed Platforms.Build.0 = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstaller|x86.ActiveCfg = Release|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstaller|x86.Build.0 = Release|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstallerWithDemoProject|Any CPU.ActiveCfg = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstallerWithDemoProject|Any CPU.Build.0 = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstallerWithDemoProject|Mixed Platforms.ActiveCfg = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstallerWithDemoProject|Mixed Platforms.Build.0 = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstallerWithDemoProject|x86.ActiveCfg = CreateInstallerWithDemoProject|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.CreateInstallerWithDemoProject|x86.Build.0 = CreateInstallerWithDemoProject|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Debug|x86.ActiveCfg = Debug|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Debug|x86.Build.0 = Debug|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Release|Any CPU.Build.0 = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Release|x86.ActiveCfg = Release|x86 + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5}.Release|x86.Build.0 = Release|x86 + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstaller|Any CPU.ActiveCfg = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstaller|Any CPU.Build.0 = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstaller|Mixed Platforms.ActiveCfg = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstaller|Mixed Platforms.Build.0 = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstaller|x86.ActiveCfg = Release|x86 + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstallerWithDemoProject|Any CPU.ActiveCfg = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstallerWithDemoProject|Any CPU.Build.0 = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstallerWithDemoProject|Mixed Platforms.ActiveCfg = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstallerWithDemoProject|Mixed Platforms.Build.0 = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.CreateInstallerWithDemoProject|x86.ActiveCfg = CreateInstallerWithDemoProject|x86 + {16F1694E-1237-4B03-B34E-70E6871898FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Debug|x86.ActiveCfg = Debug|x86 + {16F1694E-1237-4B03-B34E-70E6871898FE}.Debug|x86.Build.0 = Debug|x86 + {16F1694E-1237-4B03-B34E-70E6871898FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Release|Any CPU.Build.0 = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {16F1694E-1237-4B03-B34E-70E6871898FE}.Release|x86.ActiveCfg = Release|x86 + {16F1694E-1237-4B03-B34E-70E6871898FE}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1353,6 +1437,7 @@ {041EDC04-3A1E-4FBA-BEB7-F391571C609F} = {05D133D6-D7D8-4872-9B53-2753DD3F8BF9} {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86} = {05D133D6-D7D8-4872-9B53-2753DD3F8BF9} {D4C84992-DE0E-4107-B4C0-D65E3667A727} = {05D133D6-D7D8-4872-9B53-2753DD3F8BF9} + {11FE8C37-49EB-4FF2-8583-DABC9816FFC8} = {05D133D6-D7D8-4872-9B53-2753DD3F8BF9} {8261CCE1-98D7-465B-BC94-4ED239DE7F2E} = {9E35F3EA-D3C3-4D80-8399-689C49B68324} {0D9858E1-CF2D-4DE5-AC0E-64401900D531} = {9E35F3EA-D3C3-4D80-8399-689C49B68324} {D89FA693-A8E9-4560-9957-B74B7E9391F0} = {9E35F3EA-D3C3-4D80-8399-689C49B68324} @@ -1405,6 +1490,7 @@ {0590D3BB-EB3E-4B53-BD64-1725E1CBB1F4} = {041EDC04-3A1E-4FBA-BEB7-F391571C609F} {B5F4F5A5-FD36-405D-ABA1-56C270207C8F} = {041EDC04-3A1E-4FBA-BEB7-F391571C609F} {BC8DB1E0-0428-4FB1-9A63-028C749A8AF9} = {041EDC04-3A1E-4FBA-BEB7-F391571C609F} + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5} = {0590D3BB-EB3E-4B53-BD64-1725E1CBB1F4} {3ED34ACD-41C9-4251-81EC-7493E0BFF57D} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86} {1F0D20C2-7F04-431D-AF22-95A31FD53733} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86} {492FFA2C-351E-48DB-BA51-B837657BAF2F} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86} @@ -1430,6 +1516,11 @@ {A2BB86BB-AC38-4A09-BD87-C90A7E0B9A45} = {D4C84992-DE0E-4107-B4C0-D65E3667A727} {FFE3A667-3A4C-4F48-BC6B-1589867FCB41} = {DCBA56C0-E29E-43C1-A2BB-C08FC40D2B32} {C48E2C11-3FDA-4356-A10F-757469A108FD} = {4E40C7A7-6B7B-41A5-A7EE-9B23F04155DA} + {14E296C8-B6B9-458A-A402-68E8A0F9B97C} = {11FE8C37-49EB-4FF2-8583-DABC9816FFC8} + {88E04195-C43E-40D3-B5F2-3A25E1E79E03} = {11FE8C37-49EB-4FF2-8583-DABC9816FFC8} + {E53693A0-421A-4CB4-B6CA-5870DDFD5895} = {11FE8C37-49EB-4FF2-8583-DABC9816FFC8} + {11F1F874-45AF-43E4-8AE5-15A5C9593E28} = {14E296C8-B6B9-458A-A402-68E8A0F9B97C} + {16F1694E-1237-4B03-B34E-70E6871898FE} = {88E04195-C43E-40D3-B5F2-3A25E1E79E03} EndGlobalSection GlobalSection(TextTemplating) = postSolution TextTemplating = 1 Index: Ringtoets/Common/src/Ringtoets.Common.Placeholder/PlaceholderWithReadonlyName.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Placeholder/PlaceholderWithReadonlyName.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Placeholder/PlaceholderWithReadonlyName.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,22 @@ +namespace Ringtoets.Common.Placeholder +{ + /// + /// Simple placeholder object with only a name that cannot be changed. + /// + public class PlaceholderWithReadonlyName + { + /// + /// Initializes a new instance of the class. + /// + /// The name. + public PlaceholderWithReadonlyName(string name) + { + Name = name; + } + + /// + /// Gets the name of the placeholder. + /// + public string Name { get; private set; } + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Placeholder/Properties/AssemblyInfo.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Placeholder/Properties/AssemblyInfo.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Placeholder/Properties/AssemblyInfo.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,6 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Ringtoets.Common.Placeholder")] +[assembly: AssemblyProduct("Ringtoets.Common.Placeholder")] +[assembly: Guid("09def2e0-fc31-421b-be2e-86c56a8e9a25")] \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Placeholder/Ringtoets.Common.Placeholder.csproj =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Placeholder/Ringtoets.Common.Placeholder.csproj (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Placeholder/Ringtoets.Common.Placeholder.csproj (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,92 @@ + + + + + Debug + AnyCPU + {E38C11E0-4384-44DD-9F5B-EE73D79FD7F5} + Library + Properties + Ringtoets.Common.Placeholder + Ringtoets.Common.Placeholder + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + + + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/DikeAssessmentSection.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Data/DikeAssessmentSection.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/DikeAssessmentSection.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,97 @@ +using Ringtoets.Common.Placeholder; +using Ringtoets.Piping.Data; + +namespace Ringtoets.Integration.Data +{ + /// + /// The section to be assessed by the user for safety in regards of various failure mechanisms. + /// + public class DikeAssessmentSection + { + /// + /// Initializes a new instance of the class. + /// + public DikeAssessmentSection() + { + Name = "Dijktraject"; + ReferenceLine = new PlaceholderWithReadonlyName("Referentielijn"); + FailureMechanismContribution = new PlaceholderWithReadonlyName("Faalkansverdeling"); + HydraulicBoundaryDatabase = new PlaceholderWithReadonlyName("HR locatiedatabase"); + + PipingFailureMechanism = new PipingFailureMechanism(); + GrassErosionFailureMechanism = new PlaceholderWithReadonlyName("Dijken - Graserosie kruin en binnentalud"); + MacrostabilityInwardFailureMechanism = new PlaceholderWithReadonlyName("Dijken - Macrostabiliteit binnenwaarts"); + OvertoppingFailureMechanism = new PlaceholderWithReadonlyName("Kunstwerken - Overslag en overloop"); + ClosingFailureMechanism = new PlaceholderWithReadonlyName("Kunstwerken - Niet sluiten"); + FailingOfConstructionFailureMechanism = new PlaceholderWithReadonlyName("Kunstwerken - Constructief falen"); + StoneRevetmentFailureMechanism = new PlaceholderWithReadonlyName("Kunstwerken - Steenbekledingen"); + AsphaltRevetmentFailureMechanism = new PlaceholderWithReadonlyName("Kunstwerken - Asfaltbekledingen"); + GrassRevetmentFailureMechanism = new PlaceholderWithReadonlyName("Kunstwerken - Grasbekledingen"); + } + + /// + /// 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 PlaceholderWithReadonlyName ReferenceLine { get; private set; } + + /// + /// Gets or sets the contribution of each failure mechanism available in this assessment section. + /// + public PlaceholderWithReadonlyName FailureMechanismContribution { get; private set; } + + /// + /// Gets or sets the hydraulic boundary database. + /// + public PlaceholderWithReadonlyName HydraulicBoundaryDatabase { get; private set; } + + /// + /// Gets the "Piping" failure mechanism. + /// + public PipingFailureMechanism PipingFailureMechanism { get; private set; } + + /// + /// Gets the "Graserosie kruin en binnentalud" failure mechanism. + /// + public PlaceholderWithReadonlyName GrassErosionFailureMechanism { get; private set; } + + /// + /// Gets the "Macrostabiliteit binnenwaarts" failure mechanism. + /// + public PlaceholderWithReadonlyName MacrostabilityInwardFailureMechanism { get; private set; } + + /// + /// Gets the "Overslag en overloop" failure mechanism. + /// + public PlaceholderWithReadonlyName OvertoppingFailureMechanism { get; private set; } + + /// + /// Gets the "Niet sluiten" failure mechanism. + /// + public PlaceholderWithReadonlyName ClosingFailureMechanism { get; private set; } + + /// + /// Gets the "Constructief falen" failure mechanism. + /// + public PlaceholderWithReadonlyName FailingOfConstructionFailureMechanism { get; private set; } + + /// + /// Gets the "Steenbekledingen" failure mechanism. + /// + public PlaceholderWithReadonlyName StoneRevetmentFailureMechanism { get; private set; } + + /// + /// Gets the "Asfaltbekledingen" failure mechanism. + /// + public PlaceholderWithReadonlyName AsphaltRevetmentFailureMechanism { get; private set; } + + /// + /// Gets the "Grasbekledingen" failure mechanism. + /// + public PlaceholderWithReadonlyName GrassRevetmentFailureMechanism { get; private set; } + } +} \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/Properties/AssemblyInfo.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Data/Properties/AssemblyInfo.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/Properties/AssemblyInfo.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,6 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Ringtoets.Integration.Data")] +[assembly: AssemblyProduct("Ringtoets.Integration.Data")] +[assembly: Guid("c00b83a2-d2ed-435f-927e-14b60e22b677")] \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/Ringtoets.Integration.Data.csproj =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Data/Ringtoets.Integration.Data.csproj (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/Ringtoets.Integration.Data.csproj (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,110 @@ + + + + + Debug + AnyCPU + {11F1F874-45AF-43E4-8AE5-15A5C9593E28} + Library + Properties + Ringtoets.Integration.Data + Ringtoets.Integration.Data + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + + + + + + + + + + Properties\GlobalAssembly.cs + + + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + + + {c90b77da-e421-43cc-b82e-529651bc21ac} + Core.Common.Version + + + {e38c11e0-4384-44dd-9f5b-ee73d79fd7f5} + Ringtoets.Common.Placeholder + + + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} + Ringtoets.Piping.Data + + + + + \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/AssemblyInfo.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/AssemblyInfo.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/AssemblyInfo.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,6 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Ringtoets.Integration.Plugin")] +[assembly: AssemblyProduct("Ringtoets.Integration.Plugin")] +[assembly: Guid("07cb7c62-9a52-4616-b78c-04daa17fbde9")] \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Ringtoets.Integration.Plugin.csproj =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Ringtoets.Integration.Plugin.csproj (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Ringtoets.Integration.Plugin.csproj (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,156 @@ + + + + + Debug + AnyCPU + {71B20981-DF9B-488E-B9B3-A839DF3EF55B} + Library + Properties + Ringtoets.Integration.Plugin + Ringtoets.Integration.Plugin + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + ..\..\..\..\packages\Fluent.Ribbon.3.4.0\lib\net40\Fluent.dll + True + + + ..\..\..\..\packages\Fluent.Ribbon.3.4.0\lib\net40\Microsoft.Windows.Shell.dll + True + + + + + + + + ..\..\..\..\packages\Fluent.Ribbon.3.4.0\lib\net40\System.Windows.Interactivity.dll + True + + + + + + + + + + + + Properties\GlobalAssembly.cs + + + + + + RingtoetsRibbon.xaml + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + + + {9a2d67e6-26ac-4d17-b11a-2b4372f2f572} + Core.Common.Controls + + + {30e4c2ae-719e-4d70-9fa9-668a9767fbfa} + Core.Common.Gui + + + {c90b77da-e421-43cc-b82e-529651bc21ac} + Core.Common.Version + + + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} + Ringtoets.Piping.Data + + + {7cd038e1-e111-4969-aced-22c5bd2974e1} + Ringtoets.Piping.Forms + + + {1d3d58b6-ef7e-401e-92a0-104067d222ee} + Ringtoets.Piping.Plugin + + + {11f1f874-45af-43e4-8ae5-15a5c9593e28} + Ringtoets.Integration.Data + + + + + MSBuild:Compile + Designer + + + + + + + + \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsApplicationPlugin.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsApplicationPlugin.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsApplicationPlugin.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +using Core.Common.Base; + +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Plugin.FileImporter; + +using RingtoetsFormsResources = Ringtoets.Piping.Forms.Properties.Resources; + +namespace Ringtoets.Integration.Plugin +{ + public class RingtoetsApplicationPlugin : ApplicationPlugin + { + public override IEnumerable GetDataItemInfos() + { + yield return new DataItemInfo + { + Name = RingtoetsFormsResources.AssessmentSectionProperties_DisplayName, + Category = RingtoetsFormsResources.AssessmentSectionProperties_Category, + Image = RingtoetsFormsResources.AssessmentSectionFolderIcon, + CreateData = owner => new AssessmentSection() + }; + } + + public override IEnumerable GetFileImporters() + { + yield return new PipingSurfaceLinesCsvImporter(); + yield return new PipingSoilProfilesImporter(); + } + } +} \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,58 @@ +using System.Collections.Generic; + +using Core.Common.Controls; +using Core.Common.Gui; +using Core.Common.Gui.Forms; + +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Forms.NodePresenters; +using Ringtoets.Piping.Forms.PresentationObjects; +using Ringtoets.Piping.Forms.PropertyClasses; +using Ringtoets.Piping.Plugin; + +namespace Ringtoets.Integration.Plugin +{ + public class RingtoetsGuiPlugin : GuiPlugin + { + public override IRibbonCommandHandler RibbonCommandHandler + { + get + { + return new RingtoetsRibbon(); + } + } + + public override IEnumerable GetPropertyInfos() + { + yield return new PropertyInfo(); + yield return new PropertyInfo(); + yield return new PropertyInfo(); + yield return new PropertyInfo(); + yield return new PropertyInfo(); + } + + public override IEnumerable GetProjectTreeViewNodePresenters() + { + yield return new AssessmentSectionNodePresenter(); + yield return new PipingCalculationInputsNodePresenter + { + RunActivityAction = Gui.Application.ActivityRunner.Enqueue + }; + yield return new PipingFailureMechanismNodePresenter + { + RunActivityAction = Gui.Application.ActivityRunner.Enqueue + }; + yield return new PipingSurfaceLineCollectionNodePresenter + { + ImportSurfaceLinesAction = Gui.CommandHandler.ImportToGuiSelection + }; + yield return new PipingSurfaceLineNodePresenter(); + yield return new PipingSoilProfileCollectionNodePresenter + { + ImportSoilProfilesAction = Gui.CommandHandler.ImportToGuiSelection + }; + yield return new PipingSoilProfileNodePresenter(); + yield return new PipingOutputNodePresenter(); + } + } +} \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsRibbon.xaml.cs =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsRibbon.xaml.cs (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsRibbon.xaml.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,38 @@ +using System.Collections.Generic; + +using Core.Common.Controls; +using Core.Common.Gui.Forms; + +namespace Ringtoets.Integration.Plugin +{ + /// + /// Interaction logic for RingtoetsRibbon.xaml + /// + public partial class RingtoetsRibbon : IRibbonCommandHandler + { + public RingtoetsRibbon() + { + InitializeComponent(); + } + + public IEnumerable Commands + { + get + { + yield break; + } + } + + public object GetRibbonControl() + { + return RingtoetsRibbonControl; + } + + public void ValidateItems() {} + + public bool IsContextualTabVisible(string tabGroupName, string tabName) + { + return false; + } + } +} \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/packages.config =================================================================== diff -u --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/packages.config (revision 0) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/packages.config (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,4 @@ + + + + \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DikeAssessmentSectionTest.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DikeAssessmentSectionTest.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/DikeAssessmentSectionTest.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,49 @@ +using NUnit.Framework; + +using Ringtoets.Piping.Data; + +namespace Ringtoets.Integration.Data.Test +{ + [TestFixture] + public class DikeAssessmentSectionTest + { + [Test] + public void DefaultConstructor_ExpectedValues() + { + // Call + var section = new DikeAssessmentSection(); + + // Assert + Assert.AreEqual("Dijktraject", section.Name); + Assert.AreEqual("Referentielijn", section.ReferenceLine.Name); + Assert.AreEqual("Faalkansverdeling", section.FailureMechanismContribution.Name); + Assert.AreEqual("HR locatiedatabase", section.HydraulicBoundaryDatabase.Name); + Assert.IsInstanceOf(section.PipingFailureMechanism); + CollectionAssert.IsEmpty(section.PipingFailureMechanism.SoilProfiles); + CollectionAssert.IsEmpty(section.PipingFailureMechanism.SurfaceLines); + Assert.AreEqual("Dijken - Graserosie kruin en binnentalud", section.GrassErosionFailureMechanism.Name); + Assert.AreEqual("Dijken - Macrostabiliteit binnenwaarts", section.MacrostabilityInwardFailureMechanism.Name); + Assert.AreEqual("Kunstwerken - Overslag en overloop", section.OvertoppingFailureMechanism.Name); + Assert.AreEqual("Kunstwerken - Niet sluiten", section.ClosingFailureMechanism.Name); + Assert.AreEqual("Kunstwerken - Constructief falen", section.FailingOfConstructionFailureMechanism.Name); + Assert.AreEqual("Kunstwerken - Steenbekledingen", section.StoneRevetmentFailureMechanism.Name); + Assert.AreEqual("Kunstwerken - Asfaltbekledingen", section.AsphaltRevetmentFailureMechanism.Name); + Assert.AreEqual("Kunstwerken - Grasbekledingen", section.GrassRevetmentFailureMechanism.Name); + } + + [Test] + public void Name_SetingNewValue_GetNewValue() + { + // Setup + var section = new DikeAssessmentSection(); + + const string newValue = "new value"; + + // Call + section.Name = newValue; + + // Assert + Assert.AreEqual(newValue, section.Name); + } + } +} \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Properties/AssemblyInfo.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Properties/AssemblyInfo.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Properties/AssemblyInfo.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Ringtoets.Integration.Data.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Ringtoets.Integration.Data.Test")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f96f4034-e00c-4c7d-a9e2-7aa0b83c2140")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,113 @@ + + + + + Debug + AnyCPU + {16F1694E-1237-4B03-B34E-70E6871898FE} + Library + Properties + Ringtoets.Integration.Data.Test + Ringtoets.Integration.Data.Test + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + ..\..\..\..\lib\nunit.framework.dll + + + ..\..\..\..\lib\Rhino.Mocks.dll + + + + + + + + + + + + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + + + {e38c11e0-4384-44dd-9f5b-ee73d79fd7f5} + Ringtoets.Common.Placeholder + + + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} + Ringtoets.Piping.Data + + + {11f1f874-45af-43e4-8ae5-15a5c9593e28} + Ringtoets.Integration.Data + + + + + \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Properties/AssemblyInfo.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Properties/AssemblyInfo.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Properties/AssemblyInfo.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Ringtoets.Integration.Plugin.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Ringtoets.Integration.Plugin.Test")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("cb5371e6-2e46-4d62-9afa-33a22196052c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Ringtoets.Integration.Plugin.Test.csproj (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,131 @@ + + + + + Debug + AnyCPU + {991F9183-9210-4839-A148-83EB8F6C8CFB} + Library + Properties + Ringtoets.Integration.Plugin.Test + Ringtoets.Integration.Plugin.Test + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\CreateInstallerWithDemoProject\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + ..\..\..\..\lib\nunit.framework.dll + + + + + ..\..\..\..\lib\Rhino.Mocks.dll + + + + + + + + + + + + + + + + + + + + {3bbfd65b-b277-4e50-ae6d-bd24c3434609} + Core.Common.Base + + + {9a2d67e6-26ac-4d17-b11a-2b4372f2f572} + Core.Common.Controls + + + {30e4c2ae-719e-4d70-9fa9-668a9767fbfa} + Core.Common.Gui + + + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} + Ringtoets.Piping.Data + + + {7cd038e1-e111-4969-aced-22c5bd2974e1} + Ringtoets.Piping.Forms + + + {1d3d58b6-ef7e-401e-92a0-104067d222ee} + Ringtoets.Piping.Plugin + + + {11f1f874-45af-43e4-8ae5-15a5c9593e28} + Ringtoets.Integration.Data + + + + + \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,64 @@ +using System.Linq; + +using Core.Common.Base; + +using NUnit.Framework; + +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Plugin.FileImporter; + +using RingtoetsFormsResources = Ringtoets.Piping.Forms.Properties.Resources; + +namespace Ringtoets.Integration.Plugin.Test +{ + [TestFixture] + public class RingtoetsApplicationPluginTest + { + [Test] + public void DefaultConstructor_ExpectedValues() + { + // call + var ringtoetsApplicationPlugin = new RingtoetsApplicationPlugin(); + + // assert + Assert.IsInstanceOf(ringtoetsApplicationPlugin); + } + + [Test] + public void GetDataItemInfos_ReturnsExpectedDataItemDefinitions() + { + // setup + var plugin = new RingtoetsApplicationPlugin(); + + // call + var dataItemDefinitions = plugin.GetDataItemInfos().ToArray(); + + // assert + Assert.AreEqual(1, dataItemDefinitions.Length); + + DataItemInfo projectDataItemDefinition = dataItemDefinitions.Single(did => did.ValueType == typeof(AssessmentSection)); + Assert.AreEqual(RingtoetsFormsResources.AssessmentSectionProperties_DisplayName, projectDataItemDefinition.Name); + Assert.AreEqual(RingtoetsFormsResources.AssessmentSectionProperties_Category, projectDataItemDefinition.Category); + Assert.AreEqual(16, projectDataItemDefinition.Image.Width); + Assert.AreEqual(16, projectDataItemDefinition.Image.Height); + Assert.IsNull(projectDataItemDefinition.AdditionalOwnerCheck); + Assert.IsInstanceOf(projectDataItemDefinition.CreateData(null)); + Assert.IsNull(projectDataItemDefinition.AddExampleData); + } + + [Test] + public void GetFileImporters_Always_ReturnExpectedFileImporters() + { + // Setup + var plugin = new RingtoetsApplicationPlugin(); + + // Call + var importers = plugin.GetFileImporters().ToArray(); + + // Assert + Assert.AreEqual(2, importers.Length); + Assert.IsInstanceOf(importers[0]); + Assert.IsInstanceOf(importers[1]); + } + } +} \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs =================================================================== diff -u --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (revision 0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (revision e4190343f86e5f4b5fa2bb60f9d5ec307d8053f5) @@ -0,0 +1,113 @@ +using System; +using System.Linq; + +using Core.Common.Base; +using Core.Common.Base.Workflow; +using Core.Common.Controls; +using Core.Common.Gui; + +using NUnit.Framework; + +using Rhino.Mocks; + +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Forms.NodePresenters; +using Ringtoets.Piping.Forms.PresentationObjects; +using Ringtoets.Piping.Forms.PropertyClasses; + +namespace Ringtoets.Integration.Plugin.Test +{ + [TestFixture] + public class RingtoetsGuiPluginTest + { + [Test] + [STAThread] // For creation of XAML UI component + public void DefaultConstructor_ExpectedValues() + { + // call + using (var ringtoetsGuiPlugin = new RingtoetsGuiPlugin()) + { + // assert + Assert.IsInstanceOf(ringtoetsGuiPlugin); + Assert.IsInstanceOf(ringtoetsGuiPlugin.RibbonCommandHandler); + } + } + + [Test] + public void GetPropertyInfos_ReturnsSupportedPropertyClasses() + { + // setup + using (var guiPlugin = new RingtoetsGuiPlugin()) + { + // call + PropertyInfo[] propertyInfos = guiPlugin.GetPropertyInfos().ToArray(); + + // assert + Assert.AreEqual(5, propertyInfos.Length); + + var assessmentSectionProperties = propertyInfos.Single(pi => pi.ObjectType == typeof(AssessmentSection)); + Assert.AreEqual(typeof(AssessmentSectionProperties), assessmentSectionProperties.PropertyType); + Assert.IsNull(assessmentSectionProperties.AdditionalDataCheck); + Assert.IsNull(assessmentSectionProperties.GetObjectPropertiesData); + Assert.IsNull(assessmentSectionProperties.AfterCreate); + + var pipingDataProperties = propertyInfos.Single(pi => pi.ObjectType == typeof(PipingCalculationInputs)); + Assert.AreEqual(typeof(PipingCalculationInputsProperties), pipingDataProperties.PropertyType); + Assert.IsNull(pipingDataProperties.AdditionalDataCheck); + Assert.IsNull(pipingDataProperties.GetObjectPropertiesData); + Assert.IsNull(pipingDataProperties.AfterCreate); + + var pipingOutputProperties = propertyInfos.Single(pi => pi.ObjectType == typeof(PipingOutput)); + Assert.AreEqual(typeof(PipingOutputProperties), pipingOutputProperties.PropertyType); + Assert.IsNull(pipingOutputProperties.AdditionalDataCheck); + Assert.IsNull(pipingOutputProperties.GetObjectPropertiesData); + Assert.IsNull(pipingOutputProperties.AfterCreate); + + var pipingSurfaceLineProperties = propertyInfos.Single(pi => pi.ObjectType == typeof(RingtoetsPipingSurfaceLine)); + Assert.AreEqual(typeof(RingtoetsPipingSurfaceLineProperties), pipingSurfaceLineProperties.PropertyType); + Assert.IsNull(pipingSurfaceLineProperties.AdditionalDataCheck); + Assert.IsNull(pipingSurfaceLineProperties.GetObjectPropertiesData); + Assert.IsNull(pipingSurfaceLineProperties.AfterCreate); + + var pipingSoilProfileProperties = propertyInfos.Single(pi => pi.ObjectType == typeof(PipingSoilProfile)); + Assert.AreEqual(typeof(PipingSoilProfileProperties), pipingSoilProfileProperties.PropertyType); + Assert.IsNull(pipingSoilProfileProperties.AdditionalDataCheck); + Assert.IsNull(pipingSoilProfileProperties.GetObjectPropertiesData); + Assert.IsNull(pipingSoilProfileProperties.AfterCreate); + } + } + + [Test] + public void GetProjectTreeViewNodePresenters_ReturnsSupportedNodePresenters() + { + // setup + var mocks = new MockRepository(); + var application = mocks.Stub(); + application.Stub(a => a.ActivityRunner).Return(mocks.Stub()); + + var guiStub = mocks.Stub(); + guiStub.CommandHandler = mocks.Stub(); + guiStub.Application = application; + + mocks.ReplayAll(); + + using (var guiPlugin = new RingtoetsGuiPlugin { Gui = guiStub }) + { + // call + ITreeNodePresenter[] nodePresenters = guiPlugin.GetProjectTreeViewNodePresenters().ToArray(); + + // assert + Assert.AreEqual(8, nodePresenters.Length); + Assert.IsTrue(nodePresenters.Any(np => np is AssessmentSectionNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is PipingSurfaceLineCollectionNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is PipingSurfaceLineNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is PipingSoilProfileCollectionNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is PipingSoilProfileNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is PipingCalculationInputsNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is PipingFailureMechanismNodePresenter)); + Assert.IsTrue(nodePresenters.Any(np => np is PipingOutputNodePresenter)); + } + mocks.VerifyAll(); + } + } +} \ No newline at end of file