Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -r6d105c76b9439df9a98e43779a1ac158c3419d67 -r811967790aed0c6617f36c2135016a5bc4aa8fcc --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 6d105c76b9439df9a98e43779a1ac158c3419d67) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 811967790aed0c6617f36c2135016a5bc4aa8fcc) @@ -35,6 +35,7 @@ using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.ClosingStructures.Data; +using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.DikeProfiles; @@ -723,6 +724,11 @@ { AssertStructuresCalculation(expectedHeightStructuresCalculation, (StructuresCalculation) actualChild); } + var expectedClosingStructuresCalculation = expectedChild as StructuresCalculation; + if (expectedClosingStructuresCalculation != null) + { + AssertStructuresCalculation(expectedClosingStructuresCalculation, (StructuresCalculation) actualChild); + } var expectedStabilityStoneCoverWaveConditionsCalculation = expectedChild as StabilityStoneCoverWaveConditionsCalculation; if (expectedStabilityStoneCoverWaveConditionsCalculation != null) { @@ -862,6 +868,40 @@ Assert.AreEqual(expectedRoughnessPoint.Roughness, actualRoughnessPoint.Roughness); } + private static void AssertStructureInputBase(StructuresInputBase expectedInput, StructuresInputBase actualInput) where T : StructureBase + { + Assert.AreEqual(expectedInput.UseForeshore, actualInput.UseForeshore); + if (expectedInput.ForeshoreProfile == null) + { + Assert.IsNull(actualInput.ForeshoreProfile); + } + else + { + AssertForeshoreProfile(expectedInput.ForeshoreProfile, actualInput.ForeshoreProfile); + } + + if (expectedInput.HydraulicBoundaryLocation == null) + { + Assert.IsNull(actualInput.HydraulicBoundaryLocation); + } + else + { + AssertHydraulicBoundaryLocation(expectedInput.HydraulicBoundaryLocation, actualInput.HydraulicBoundaryLocation); + } + + Assert.AreEqual(expectedInput.StructureNormalOrientation, actualInput.StructureNormalOrientation); + DistributionAssert.AreEqual(expectedInput.ModelFactorSuperCriticalFlow, actualInput.ModelFactorSuperCriticalFlow); + DistributionAssert.AreEqual(expectedInput.AllowedLevelIncreaseStorage, actualInput.AllowedLevelIncreaseStorage); + DistributionAssert.AreEqual(expectedInput.StorageStructureArea, actualInput.StorageStructureArea); + DistributionAssert.AreEqual(expectedInput.FlowWidthAtBottomProtection, actualInput.FlowWidthAtBottomProtection); + DistributionAssert.AreEqual(expectedInput.CriticalOvertoppingDischarge, actualInput.CriticalOvertoppingDischarge); + Assert.AreEqual(expectedInput.FailureProbabilityStructureWithErosion, actualInput.FailureProbabilityStructureWithErosion); + DistributionAssert.AreEqual(expectedInput.WidthFlowApertures, actualInput.WidthFlowApertures); + DistributionAssert.AreEqual(expectedInput.StormDuration, actualInput.StormDuration); + Assert.AreEqual(expectedInput.UseBreakWater, actualInput.UseBreakWater); + AssertBreakWater(expectedInput.BreakWater, actualInput.BreakWater); + } + private static void TearDownTempRingtoetsFile(string filePath) { GC.Collect(); @@ -972,6 +1012,42 @@ Assert.AreEqual(expectedClosingStructure.InflowModelType, actualClosingStructure.InflowModelType); } + private static void AssertStructuresCalculation(StructuresCalculation expectedCalculation, + StructuresCalculation actualCalculation) + { + Assert.AreEqual(expectedCalculation.Name, actualCalculation.Name); + Assert.AreEqual(expectedCalculation.Comments, actualCalculation.Comments); + + AssertClosingStructuresInput(expectedCalculation.InputParameters, actualCalculation.InputParameters); + } + + private static void AssertClosingStructuresInput(ClosingStructuresInput expectedInput, ClosingStructuresInput actualInput) + { + AssertStructureInputBase(expectedInput, actualInput); + + if (expectedInput.Structure == null) + { + Assert.IsNull(actualInput.Structure); + } + else + { + AssertClosingStructure(expectedInput.Structure, actualInput.Structure); + } + + Assert.AreEqual(expectedInput.InflowModelType, actualInput.InflowModelType); + DistributionAssert.AreEqual(expectedInput.InsideWaterLevel, actualInput.InsideWaterLevel); + Assert.AreEqual(expectedInput.DeviationWaveDirection, actualInput.DeviationWaveDirection); + DistributionAssert.AreEqual(expectedInput.DrainCoefficient, actualInput.DrainCoefficient); + Assert.AreEqual(expectedInput.FactorStormDurationOpenStructure, actualInput.FactorStormDurationOpenStructure); + DistributionAssert.AreEqual(expectedInput.ThresholdHeightOpenWeir, actualInput.ThresholdHeightOpenWeir); + DistributionAssert.AreEqual(expectedInput.AreaFlowApertures, actualInput.AreaFlowApertures); + Assert.AreEqual(expectedInput.FailureProbabilityOpenStructure, actualInput.FailureProbabilityOpenStructure); + Assert.AreEqual(expectedInput.FailureProbabilityReparation, actualInput.FailureProbabilityReparation); + Assert.AreEqual(expectedInput.IdenticalApertures, actualInput.IdenticalApertures); + DistributionAssert.AreEqual(expectedInput.LevelCrestStructureNotClosing, actualInput.LevelCrestStructureNotClosing); + Assert.AreEqual(expectedInput.ProbabilityOpenStructureBeforeFlooding, actualInput.ProbabilityOpenStructureBeforeFlooding); + } + #endregion #region HeightStructures FailureMechanism @@ -1056,14 +1132,8 @@ private static void AssertHeightStructuresInput(HeightStructuresInput expectedInput, HeightStructuresInput actualInput) { - if (expectedInput.ForeshoreProfile == null) - { - Assert.IsNull(actualInput.ForeshoreProfile); - } - else - { - AssertForeshoreProfile(expectedInput.ForeshoreProfile, actualInput.ForeshoreProfile); - } + AssertStructureInputBase(expectedInput, actualInput); + if (expectedInput.Structure == null) { Assert.IsNull(actualInput.Structure); @@ -1072,27 +1142,7 @@ { AssertHeightStructure(expectedInput.Structure, actualInput.Structure); } - if (expectedInput.HydraulicBoundaryLocation == null) - { - Assert.IsNull(actualInput.HydraulicBoundaryLocation); - } - else - { - AssertHydraulicBoundaryLocation(expectedInput.HydraulicBoundaryLocation, actualInput.HydraulicBoundaryLocation); - } - Assert.AreEqual(expectedInput.StructureNormalOrientation, actualInput.StructureNormalOrientation); - DistributionAssert.AreEqual(expectedInput.ModelFactorSuperCriticalFlow, actualInput.ModelFactorSuperCriticalFlow); - DistributionAssert.AreEqual(expectedInput.AllowedLevelIncreaseStorage, actualInput.AllowedLevelIncreaseStorage); - DistributionAssert.AreEqual(expectedInput.StorageStructureArea, actualInput.StorageStructureArea); - DistributionAssert.AreEqual(expectedInput.FlowWidthAtBottomProtection, actualInput.FlowWidthAtBottomProtection); - DistributionAssert.AreEqual(expectedInput.CriticalOvertoppingDischarge, actualInput.CriticalOvertoppingDischarge); - Assert.AreEqual(expectedInput.FailureProbabilityStructureWithErosion, actualInput.FailureProbabilityStructureWithErosion); - DistributionAssert.AreEqual(expectedInput.WidthFlowApertures, actualInput.WidthFlowApertures); - DistributionAssert.AreEqual(expectedInput.StormDuration, actualInput.StormDuration); - - AssertBreakWater(expectedInput.BreakWater, actualInput.BreakWater); - Assert.AreEqual(expectedInput.DeviationWaveDirection, actualInput.DeviationWaveDirection); DistributionAssert.AreEqual(expectedInput.LevelCrestStructure, actualInput.LevelCrestStructure); }