Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs =================================================================== diff -u -rfff12e249602fb700b2854c14a3b7cdd0b73c023 -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs (.../GrassCoverErosionInwardsCalculation.cs) (revision fff12e249602fb700b2854c14a3b7cdd0b73c023) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs (.../GrassCoverErosionInwardsCalculation.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -84,8 +84,8 @@ private void AddDemoInput() { // BreakWater - InputParameters.BreakWater.Add(new BreakWater(BreakWaterType.Dam, 10)); - InputParameters.BreakWaterPresent = true; + InputParameters.BreakWater = new BreakWater(BreakWaterType.Dam, 10); + InputParameters.UseBreakWater = true; // Orientation InputParameters.Orientation = new RoundedDouble(RoundedDouble.MaximumNumberOfDecimalPlaces, 5.5); @@ -100,13 +100,13 @@ new RoughnessProfileSection(new Point2D(3.3, 4.4), new Point2D(5.5, 6.6), 2.2) }; InputParameters.SetGeometry(sections, 1); - InputParameters.ForeshorePresent = true; + InputParameters.UseForeshore = true; // Hydraulic boundaries location InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1300001, "Demo", 0.0, 1.1); // Dike height - InputParameters.DikeHeight = 10; + InputParameters.DikeHeight = new RoundedDouble(InputParameters.DikeHeight.NumberOfDecimalPlaces, 10); } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsInput.cs =================================================================== diff -u -rfff12e249602fb700b2854c14a3b7cdd0b73c023 -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsInput.cs (.../GrassCoverErosionInwardsInput.cs) (revision fff12e249602fb700b2854c14a3b7cdd0b73c023) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsInput.cs (.../GrassCoverErosionInwardsInput.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -37,14 +37,16 @@ { private IEnumerable geometry; private RoundedDouble orientation; + private readonly LognormalDistribution criticalFlowRate; /// /// Creates a new instance of . /// public GrassCoverErosionInwardsInput() { - BreakWater = new List(); orientation = new RoundedDouble(2); + DikeHeight = new RoundedDouble(2); + criticalFlowRate = new LognormalDistribution(2); } /// @@ -87,33 +89,44 @@ /// /// Gets or sets the dike's critical flow rate. /// - public LognormalDistribution CriticalFlowRate { get; set; } + public LognormalDistribution CriticalFlowRate + { + get + { + return criticalFlowRate; + } + set + { + criticalFlowRate.Mean = value.Mean; + criticalFlowRate.StandardDeviation = value.StandardDeviation; + } + } /// - /// Gets or sets if a foreshore is present. + /// Gets or sets if needs to be taken into account. /// - /// Value of must not be reset when is set to false. - public bool ForeshorePresent { get; set; } + /// Value of must not be reset when is set to false. + public bool UseForeshore { get; set; } /// /// Gets or sets the dike height. /// - public double DikeHeight { get; set; } + public RoundedDouble DikeHeight { get; set; } /// /// Gets the number of profile points of the dike geometry that form the foreshore geometry. /// public int ForeshoreDikeGeometryPoints { get; private set; } /// - /// Defines if needs to be taken into account. + /// Gets or sets if needs to be taken into account. /// - public bool BreakWaterPresent { get; set; } + public bool UseBreakWater { get; set; } /// /// Gets or sets the . /// - public IList BreakWater { get; set; } + public BreakWater BreakWater { get; set; } /// /// Gets or set the hydraulic boundary location from which to use the assessment level. Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/BreakWaterProperties.cs =================================================================== diff -u -r79f417a64ad7845136da14dc776b14503797347e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/BreakWaterProperties.cs (.../BreakWaterProperties.cs) (revision 79f417a64ad7845136da14dc776b14503797347e) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/BreakWaterProperties.cs (.../BreakWaterProperties.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -21,7 +21,6 @@ using System.ComponentModel; using System.Globalization; -using System.Linq; using Core.Common.Base.Data; using Core.Common.Gui.Attributes; using Core.Common.Gui.PropertyBag; @@ -45,11 +44,11 @@ { get { - return data.WrappedData.InputParameters.BreakWaterPresent; + return data.WrappedData.InputParameters.UseBreakWater; } set { - data.WrappedData.InputParameters.BreakWaterPresent = value; + data.WrappedData.InputParameters.UseBreakWater = value; data.WrappedData.NotifyObservers(); } } @@ -61,17 +60,17 @@ { get { - var breakWater = data.WrappedData.InputParameters.BreakWater.FirstOrDefault(); + var breakWater = data.WrappedData.InputParameters.BreakWater; return breakWater == null ? BreakWaterType.Caisson : breakWater.Type; } set { - var breakWater = data.WrappedData.InputParameters.BreakWater.FirstOrDefault(); + var breakWater = data.WrappedData.InputParameters.BreakWater; if (breakWater == null) { return; } - data.WrappedData.InputParameters.BreakWater[0] = new BreakWater(value, breakWater.Height); + data.WrappedData.InputParameters.BreakWater = new BreakWater(value, breakWater.Height); data.WrappedData.NotifyObservers(); } } @@ -83,17 +82,17 @@ { get { - var breakWater = data.WrappedData.InputParameters.BreakWater.FirstOrDefault(); + var breakWater = data.WrappedData.InputParameters.BreakWater; return breakWater == null ? string.Empty : new RoundedDouble(2, breakWater.Height).Value.ToString(CultureInfo.CurrentCulture); } set { - var breakWater = data.WrappedData.InputParameters.BreakWater.FirstOrDefault(); + var breakWater = data.WrappedData.InputParameters.BreakWater; if (breakWater == null) { return; } - data.WrappedData.InputParameters.BreakWater[0] = new BreakWater(breakWater.Type, new RoundedDouble(2, double.Parse(value)).Value); + data.WrappedData.InputParameters.BreakWater = new BreakWater(breakWater.Type, new RoundedDouble(2, double.Parse(value)).Value); data.WrappedData.NotifyObservers(); } } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/ForeshoreProperties.cs =================================================================== diff -u -r79f417a64ad7845136da14dc776b14503797347e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/ForeshoreProperties.cs (.../ForeshoreProperties.cs) (revision 79f417a64ad7845136da14dc776b14503797347e) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/ForeshoreProperties.cs (.../ForeshoreProperties.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -38,11 +38,11 @@ { get { - return data.WrappedData.InputParameters.ForeshorePresent; + return data.WrappedData.InputParameters.UseForeshore; } set { - data.WrappedData.InputParameters.ForeshorePresent = value; + data.WrappedData.InputParameters.UseForeshore = value; data.WrappedData.NotifyObservers(); } } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs =================================================================== diff -u -r3ba42e2c8b6380227f4b2e1d1897135ec962beab -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 3ba42e2c8b6380227f4b2e1d1897135ec962beab) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -160,16 +160,14 @@ output => { ParseHydraRingOutput(inwardsOutput, output); }); } - private static IEnumerable ParseBreakWater(GrassCoverErosionInwardsInput input) + private static HydraRingBreakWater ParseBreakWater(GrassCoverErosionInwardsInput input) { - return input.BreakWaterPresent ? - input.BreakWater.Select(water => new HydraRingBreakWater((int) water.Type, water.Height)) : - Enumerable.Empty(); + return input.UseBreakWater ? new HydraRingBreakWater((int) input.BreakWater.Type, input.BreakWater.Height) : null; } private static IEnumerable ParseForeshore(GrassCoverErosionInwardsInput input) { - if (!input.ForeshorePresent) + if (!input.UseForeshore) { yield break; } Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs =================================================================== diff -u -rf5e1194ee412e86277cee388a75c39db189f2b3e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs (.../GrassCoverErosionInwardsCalculationTest.cs) (revision f5e1194ee412e86277cee388a75c39db189f2b3e) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs (.../GrassCoverErosionInwardsCalculationTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -21,9 +21,8 @@ using System.Linq; using Core.Common.Base; +using Core.Common.Base.Data; using NUnit.Framework; -using Rhino.Mocks; -using Ringtoets.Common.Data; using Ringtoets.Common.Data.Calculation; using Ringtoets.HydraRing.Data; @@ -32,14 +31,6 @@ [TestFixture] public class GrassCoverErosionInwardsCalculationTest { - private MockRepository mockRepository; - - [SetUp] - public void SetUp() - { - mockRepository = new MockRepository(); - } - [Test] public void Constructor_DefaultPropertyValuesAreSet() { @@ -48,103 +39,17 @@ // Assert Assert.IsInstanceOf(calculation); - Assert.IsInstanceOf(calculation); Assert.AreEqual("Nieuwe berekening", calculation.Name); Assert.IsInstanceOf(calculation.InputParameters); Assert.IsFalse(calculation.HasOutput); Assert.IsNull(calculation.Comments); Assert.IsNull(calculation.Output); + Assert.IsInstanceOf(calculation); AssertDemoInput(calculation.InputParameters); } [Test] - public void Notify_SingleListenerAttached_ListenerIsNotified() - { - // Setup - var observer = mockRepository.StrictMock(); - observer.Expect(o => o.UpdateObserver()); - mockRepository.ReplayAll(); - - var calculation = new GrassCoverErosionInwardsCalculation(); - - calculation.Attach(observer); - - // Call & Assert - calculation.NotifyObservers(); - } - - [Test] - public void Notify_SingleListenerAttachedAndDeattached_ListenerIsNotNotified() - { - // Setup - var observer = mockRepository.StrictMock(); - observer.Expect(o => o.UpdateObserver()).Repeat.Never(); - mockRepository.ReplayAll(); - - var calculation = new GrassCoverErosionInwardsCalculation(); - - calculation.Attach(observer); - calculation.Detach(observer); - - // Call & Assert - calculation.NotifyObservers(); - } - - [Test] - public void Notify_TwoListenersAttached_BothAreNotified() - { - // Setup - var observerA = mockRepository.StrictMock(); - observerA.Expect(o => o.UpdateObserver()); - - var observerB = mockRepository.StrictMock(); - observerB.Expect(o => o.UpdateObserver()); - mockRepository.ReplayAll(); - - var calculation = new GrassCoverErosionInwardsCalculation(); - - calculation.Attach(observerA); - calculation.Attach(observerB); - - // Call & Assert - calculation.NotifyObservers(); - } - - [Test] - public void Notify_TwoListenersAttachedOneDetached_InvokedOnce() - { - // Setup - var observerA = mockRepository.StrictMock(); - observerA.Expect(o => o.UpdateObserver()).Repeat.Never(); - - var observerB = mockRepository.StrictMock(); - observerB.Expect(o => o.UpdateObserver()); - mockRepository.ReplayAll(); - - var calculation = new GrassCoverErosionInwardsCalculation(); - - calculation.Attach(observerA); - calculation.Attach(observerB); - calculation.Detach(observerA); - - // Call & Assert - calculation.NotifyObservers(); - } - - [Test] - public void Detach_DetachNonAttachedObserver_DoesNotThrowException() - { - // Setup - var observer = mockRepository.StrictMock(); - - var calculation = new GrassCoverErosionInwardsCalculation(); - - // Call & Assert - calculation.Detach(observer); - } - - [Test] [TestCase(null)] [TestCase("")] [TestCase(" ")] @@ -253,11 +158,10 @@ private void AssertDemoInput(GrassCoverErosionInwardsInput inputParameters) { // BreakWater - var breakWater = inputParameters.BreakWater.FirstOrDefault(); - Assert.IsNotNull(breakWater); - Assert.AreEqual(10, breakWater.Height); - Assert.AreEqual(BreakWaterType.Dam, breakWater.Type); - Assert.IsTrue(inputParameters.BreakWaterPresent); + Assert.IsNotNull(inputParameters.BreakWater); + Assert.AreEqual(10, inputParameters.BreakWater.Height); + Assert.AreEqual(BreakWaterType.Dam, inputParameters.BreakWater.Type); + Assert.IsTrue(inputParameters.UseBreakWater); // Orientation Assert.AreEqual(2, inputParameters.Orientation.NumberOfDecimalPlaces); @@ -270,14 +174,15 @@ Assert.IsTrue(inputParameters.ForeshoreGeometry.Any()); Assert.IsTrue(inputParameters.DikeGeometry.Any()); Assert.AreEqual(1, inputParameters.ForeshoreDikeGeometryPoints); - Assert.IsTrue(inputParameters.ForeshorePresent); + Assert.IsTrue(inputParameters.UseForeshore); // Hydraulic boundaries location Assert.AreEqual("Demo", inputParameters.HydraulicBoundaryLocation.Name); Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id); // Dike height - Assert.AreEqual(10, inputParameters.DikeHeight); + var expectedDikeHeight = new RoundedDouble(inputParameters.DikeHeight.NumberOfDecimalPlaces, 10); + Assert.AreEqual(expectedDikeHeight, inputParameters.DikeHeight); } } Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs =================================================================== diff -u -rba1d2c3b299441a10efb6c7c044eccb86c9dc4a1 -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs (.../GrassCoverErosionInwardsInputTest.cs) (revision ba1d2c3b299441a10efb6c7c044eccb86c9dc4a1) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs (.../GrassCoverErosionInwardsInputTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.Linq; using Core.Common.Base; using Core.Common.Base.Data; @@ -55,28 +54,26 @@ var orientation = new RoundedDouble(2, 1.18); var logNormal = new LognormalDistribution(2); const bool foreshorePresent = true; - var breakWater = new List - { - new BreakWater(BreakWaterType.Caisson, 2.2) - }; + var breakWater = new BreakWater(BreakWaterType.Caisson, 2.2); const bool breakWaterPresent = true; - const double dikeHeight = 1.1; + RoundedDouble dikeHeight = new RoundedDouble(input.DikeHeight.NumberOfDecimalPlaces, 1.1); // Call input.Orientation = orientation; input.CriticalFlowRate = logNormal; input.DikeHeight = dikeHeight; - input.ForeshorePresent = foreshorePresent; + input.UseForeshore = foreshorePresent; input.BreakWater = breakWater; - input.BreakWaterPresent = breakWaterPresent; + input.UseBreakWater = breakWaterPresent; // Assert Assert.AreEqual(dikeHeight, input.DikeHeight); Assert.AreEqual(orientation, input.Orientation); - Assert.AreEqual(logNormal, input.CriticalFlowRate); - Assert.AreEqual(foreshorePresent, input.ForeshorePresent); + Assert.AreEqual(logNormal.Mean, input.CriticalFlowRate.Mean); + Assert.AreEqual(logNormal.StandardDeviation, input.CriticalFlowRate.StandardDeviation); + Assert.AreEqual(foreshorePresent, input.UseForeshore); Assert.AreEqual(breakWater, input.BreakWater); - Assert.AreEqual(breakWaterPresent, input.BreakWaterPresent); + Assert.AreEqual(breakWaterPresent, input.UseBreakWater); } [Test] Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/RoughnessProfileSectionTest.cs =================================================================== diff -u -rd847955b7a8b9bd4cd80c5e10e6a055c9d5daa8b -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/RoughnessProfileSectionTest.cs (.../RoughnessProfileSectionTest.cs) (revision d847955b7a8b9bd4cd80c5e10e6a055c9d5daa8b) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/RoughnessProfileSectionTest.cs (.../RoughnessProfileSectionTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -47,7 +47,7 @@ } [Test] - public void Constructor_BeginingPointNull_ThrowsArgumentNullException() + public void Constructor_StartingPointNull_ThrowsArgumentNullException() { // Setup & Call TestDelegate test = () => new RoughnessProfileSection(null, new Point2D(3.3, 4.4), 5.5); Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/BreakWaterPropertiesTest.cs =================================================================== diff -u -r79f417a64ad7845136da14dc776b14503797347e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/BreakWaterPropertiesTest.cs (.../BreakWaterPropertiesTest.cs) (revision 79f417a64ad7845136da14dc776b14503797347e) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/BreakWaterPropertiesTest.cs (.../BreakWaterPropertiesTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -103,9 +103,9 @@ properties.BreakWaterPresent = false; // Assert - Assert.IsFalse(calculation.InputParameters.BreakWaterPresent); - Assert.AreEqual(newBreakWaterType, calculation.InputParameters.BreakWater[0].Type); - Assert.AreEqual(newBreakWaterHeight, calculation.InputParameters.BreakWater[0].Height); + Assert.IsFalse(calculation.InputParameters.UseBreakWater); + Assert.AreEqual(newBreakWaterType, calculation.InputParameters.BreakWater.Type); + Assert.AreEqual(newBreakWaterHeight, calculation.InputParameters.BreakWater.Height); mockRepository.VerifyAll(); } } Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/ForeshorePropertiesTest.cs =================================================================== diff -u -r79f417a64ad7845136da14dc776b14503797347e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/ForeshorePropertiesTest.cs (.../ForeshorePropertiesTest.cs) (revision 79f417a64ad7845136da14dc776b14503797347e) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/ForeshorePropertiesTest.cs (.../ForeshorePropertiesTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -96,7 +96,7 @@ properties.ForeshorePresent = false; // Assert - Assert.IsFalse(calculation.InputParameters.ForeshorePresent); + Assert.IsFalse(calculation.InputParameters.UseForeshore); mockRepository.VerifyAll(); } } Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsCalculationContextPropertiesTest.cs =================================================================== diff -u -r79f417a64ad7845136da14dc776b14503797347e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsCalculationContextPropertiesTest.cs (.../GrassCoverErosionInwardsCalculationContextPropertiesTest.cs) (revision 79f417a64ad7845136da14dc776b14503797347e) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsCalculationContextPropertiesTest.cs (.../GrassCoverErosionInwardsCalculationContextPropertiesTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -118,11 +118,11 @@ Data = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanismMock, assessmentSectionMock) }; - const double newDikeHeight = 9; + var newDikeHeight = new RoundedDouble(2, 9); var newOrientation = new RoundedDouble(2, 5); // Call - properties.DikeHeight = newDikeHeight.ToString(CultureInfo.InvariantCulture); + properties.DikeHeight = newDikeHeight.ToString(); properties.Orientation = newOrientation.Value.ToString(CultureInfo.InvariantCulture); // Assert Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs =================================================================== diff -u -rd847955b7a8b9bd4cd80c5e10e6a055c9d5daa8b -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (.../HydraRingCalculationInput.cs) (revision d847955b7a8b9bd4cd80c5e10e6a055c9d5daa8b) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (.../HydraRingCalculationInput.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -106,11 +106,11 @@ /// /// Gets the break waters to use during the calculation. /// - public virtual IEnumerable BreakWaters + public virtual HydraRingBreakWater BreakWater { get { - yield break; + return null; } } Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs =================================================================== diff -u -r4a37c3e7379dd57eaa3a2057809dec67261a07dd -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs (.../OvertoppingCalculationInput.cs) (revision 4a37c3e7379dd57eaa3a2057809dec67261a07dd) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs (.../OvertoppingCalculationInput.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -31,7 +31,7 @@ private readonly HydraRingSection section; private readonly IEnumerable profilePoints; private readonly IEnumerable forelandPoints; - private readonly IEnumerable breakWaters; + private readonly HydraRingBreakWater breakWater; private readonly double dikeHeight; private readonly double criticalOvertoppingMean; @@ -47,13 +47,13 @@ /// The standard deviation of the critical overtopping to use during the calculation. /// The profile points to use during the calculation. /// The foreland points to use during the calculation. - /// The break waters to use during the calculation. + /// The break water to use during the calculation. public OvertoppingCalculationInput(int hydraulicBoundaryLocationId, HydraRingSection hydraRingSection, double hydraRingDikeHeight, double hydraRingCriticalOvertoppingMean, double hydraRingCriticalOvertoppingStandardDeviation, IEnumerable hydraRingProfilePoints, IEnumerable hydraRingForelandPoints, - IEnumerable hydraRingBreakWaters) + HydraRingBreakWater hydraRingBreakWater) : base(hydraulicBoundaryLocationId) { section = hydraRingSection; @@ -62,7 +62,7 @@ criticalOvertoppingStandardDeviation = hydraRingCriticalOvertoppingStandardDeviation; profilePoints = hydraRingProfilePoints; forelandPoints = hydraRingForelandPoints; - breakWaters = hydraRingBreakWaters; + breakWater = hydraRingBreakWater; } public override HydraRingFailureMechanismType FailureMechanismType @@ -105,11 +105,11 @@ } } - public override IEnumerable BreakWaters + public override HydraRingBreakWater BreakWater { get { - return breakWaters; + return breakWater; } } Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs =================================================================== diff -u -r4a37c3e7379dd57eaa3a2057809dec67261a07dd -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (.../HydraRingConfigurationService.cs) (revision 4a37c3e7379dd57eaa3a2057809dec67261a07dd) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (.../HydraRingConfigurationService.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -516,18 +516,18 @@ var orderedDictionaries = new List(); foreach (var hydraRingCalculationInput in hydraRingCalculationInputs) { - foreach (var breakWater in hydraRingCalculationInput.BreakWaters) + if (hydraRingCalculationInput.BreakWater != null) { orderedDictionaries.Add(new OrderedDictionary { { "SectionId", hydraRingCalculationInput.Section.SectionId }, { - "Type", breakWater.Type + "Type", hydraRingCalculationInput.BreakWater.Type }, { - "Height", GetHydraRingValue(breakWater.Height) + "Height", GetHydraRingValue(hydraRingCalculationInput.BreakWater.Height) } }); } Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/ExceedanceProbabilityCalculationInputTest.cs =================================================================== diff -u -r8b5a6f938fe2b04cd78623649df37580e145055f -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/ExceedanceProbabilityCalculationInputTest.cs (.../ExceedanceProbabilityCalculationInputTest.cs) (revision 8b5a6f938fe2b04cd78623649df37580e145055f) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/ExceedanceProbabilityCalculationInputTest.cs (.../ExceedanceProbabilityCalculationInputTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -48,7 +48,7 @@ CollectionAssert.IsEmpty(exceedanceProbabilityCalculationInputImplementation.Variables); CollectionAssert.IsEmpty(exceedanceProbabilityCalculationInputImplementation.ProfilePoints); CollectionAssert.IsEmpty(exceedanceProbabilityCalculationInputImplementation.ForelandsPoints); - CollectionAssert.IsEmpty(exceedanceProbabilityCalculationInputImplementation.BreakWaters); + Assert.IsNull(exceedanceProbabilityCalculationInputImplementation.BreakWater); Assert.IsNaN(exceedanceProbabilityCalculationInputImplementation.Beta); } Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/HydraRingCalculationInputTest.cs =================================================================== diff -u -r8b5a6f938fe2b04cd78623649df37580e145055f -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/HydraRingCalculationInputTest.cs (.../HydraRingCalculationInputTest.cs) (revision 8b5a6f938fe2b04cd78623649df37580e145055f) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/HydraRingCalculationInputTest.cs (.../HydraRingCalculationInputTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -43,7 +43,7 @@ CollectionAssert.IsEmpty(hydraRingCalculationInput.Variables); CollectionAssert.IsEmpty(hydraRingCalculationInput.ProfilePoints); CollectionAssert.IsEmpty(hydraRingCalculationInput.ForelandsPoints); - CollectionAssert.IsEmpty(hydraRingCalculationInput.BreakWaters); + Assert.IsNull(hydraRingCalculationInput.BreakWater); Assert.IsNaN(hydraRingCalculationInput.Beta); } Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/AssessmentLevelCalculationInputTest.cs =================================================================== diff -u -r8b5a6f938fe2b04cd78623649df37580e145055f -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/AssessmentLevelCalculationInputTest.cs (.../AssessmentLevelCalculationInputTest.cs) (revision 8b5a6f938fe2b04cd78623649df37580e145055f) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Hydraulics/AssessmentLevelCalculationInputTest.cs (.../AssessmentLevelCalculationInputTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -47,7 +47,7 @@ Assert.AreEqual(1, assessmentLevelCalculationInput.Variables.Count()); CollectionAssert.IsEmpty(assessmentLevelCalculationInput.ProfilePoints); CollectionAssert.IsEmpty(assessmentLevelCalculationInput.ForelandsPoints); - CollectionAssert.IsEmpty(assessmentLevelCalculationInput.BreakWaters); + Assert.IsNull(assessmentLevelCalculationInput.BreakWater); Assert.AreEqual(expectedBeta, assessmentLevelCalculationInput.Beta); var hydraRingSection = assessmentLevelCalculationInput.Section; Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Overtopping/OvertoppingCalculationInputTest.cs =================================================================== diff -u -r4a37c3e7379dd57eaa3a2057809dec67261a07dd -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Overtopping/OvertoppingCalculationInputTest.cs (.../OvertoppingCalculationInputTest.cs) (revision 4a37c3e7379dd57eaa3a2057809dec67261a07dd) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Overtopping/OvertoppingCalculationInputTest.cs (.../OvertoppingCalculationInputTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -49,15 +49,12 @@ { new HydraRingForelandPoint(2.2, 3.3) }; - var expectedRingBreakWaters = new List - { - new HydraRingBreakWater(2, 3.3) - }; + var expectedRingBreakWater = new HydraRingBreakWater(2, 3.3); // Call OvertoppingCalculationInput overtoppingCalculationInput = new OvertoppingCalculationInput(hydraulicBoundaryLocationId, expectedHydraRingSection, dikeHeight, criticalOvertoppingMean, criticalOvertoppingStandardDeviation, - expectedRingProfilePoints, expectedRingForelandPoints, expectedRingBreakWaters); + expectedRingProfilePoints, expectedRingForelandPoints, expectedRingBreakWater); // Assert Assert.AreEqual(expectedCalculationTypeId, overtoppingCalculationInput.CalculationTypeId); @@ -68,7 +65,7 @@ CheckOvertoppingVariables(GetDefaultOvertoppingVariables().ToArray(), overtoppingCalculationInput.Variables.ToArray()); CollectionAssert.AreEqual(expectedRingProfilePoints, overtoppingCalculationInput.ProfilePoints); CollectionAssert.AreEqual(expectedRingForelandPoints, overtoppingCalculationInput.ForelandsPoints); - CollectionAssert.AreEqual(expectedRingBreakWaters, overtoppingCalculationInput.BreakWaters); + Assert.AreEqual(expectedRingBreakWater, overtoppingCalculationInput.BreakWater); Assert.IsNaN(overtoppingCalculationInput.Beta); var hydraRingSection = overtoppingCalculationInput.Section; @@ -89,7 +86,7 @@ OvertoppingCalculationInput overtoppingCalculationInput = new OvertoppingCalculationInput(1, hydraRingSection, 2, 3, 4, new List(), new List(), - new List()); + new HydraRingBreakWater(0, 1.1)); // Assert Assert.AreEqual(expectedSubMechanismModelId, overtoppingCalculationInput.GetSubMechanismModelId(subMechanismModelId)); Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/TargetProbabilityCalculationInputTest.cs =================================================================== diff -u -r8b5a6f938fe2b04cd78623649df37580e145055f -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/TargetProbabilityCalculationInputTest.cs (.../TargetProbabilityCalculationInputTest.cs) (revision 8b5a6f938fe2b04cd78623649df37580e145055f) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/TargetProbabilityCalculationInputTest.cs (.../TargetProbabilityCalculationInputTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -46,7 +46,7 @@ CollectionAssert.IsEmpty(targetProbabilityCalculationInputImplementation.Variables); CollectionAssert.IsEmpty(targetProbabilityCalculationInputImplementation.ProfilePoints); CollectionAssert.IsEmpty(targetProbabilityCalculationInputImplementation.ForelandsPoints); - CollectionAssert.IsEmpty(targetProbabilityCalculationInputImplementation.BreakWaters); + Assert.IsNull(targetProbabilityCalculationInputImplementation.BreakWater); Assert.AreEqual(expectedBeta, targetProbabilityCalculationInputImplementation.Beta); } Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs =================================================================== diff -u -rb9f6d46631bdb16c2f1e65e791dd31e9380ccd6e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision b9f6d46631bdb16c2f1e65e791dd31e9380ccd6e) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -114,14 +114,11 @@ { new HydraRingForelandPoint(1.1, 2.2) }; - var breakWaters = new List - { - new HydraRingBreakWater(1, 2.2) - }; + var breakWater = new HydraRingBreakWater(1, 2.2); hydraRingConfigurationService.AddHydraRingCalculationInput(new OvertoppingCalculationInput(hydraulicBoundaryLocationId, hydraRingSection, dikeHeight, criticalOvertoppingMean, criticalOvertoppingStandardDeviation - , profilePoints, forelandPoints, breakWaters)); + , profilePoints, forelandPoints, breakWater)); var expectedCreationScript = "DELETE FROM [HydraulicModels];" + Environment.NewLine + "INSERT INTO [HydraulicModels] VALUES (1, 1, 'WTI 2017');" + Environment.NewLine + Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Services/HydraRingCalculationServiceTest.cs =================================================================== diff -u -r0467e8cd28578cf205b473d3830dbd02adb29feb -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Services/HydraRingCalculationServiceTest.cs (.../HydraRingCalculationServiceTest.cs) (revision 0467e8cd28578cf205b473d3830dbd02adb29feb) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Services/HydraRingCalculationServiceTest.cs (.../HydraRingCalculationServiceTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -23,6 +23,7 @@ using System.IO; using Core.Common.TestUtil; using NUnit.Framework; +using Rhino.Mocks; using Ringtoets.HydraRing.Calculation.Data; using Ringtoets.HydraRing.Calculation.Data.Input.Hydraulics; using Ringtoets.HydraRing.Calculation.Data.Input.Overtopping; @@ -76,11 +77,14 @@ var hydraRingCalculationService = new HydraRingCalculationService(); var incorrectStationId = 999; var hydraRingSection = new HydraRingSection(incorrectStationId, "999", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + + var mockRepository = new MockRepository(); + var hydraRingBreakWaterMock = mockRepository.StrictMock(0, 1.1); var overtoppingCalculationInput = new OvertoppingCalculationInput(incorrectStationId, hydraRingSection, 1, 2, 3, new List(), new List(), - new List()); + hydraRingBreakWaterMock); var outputFolder = Path.Combine(Path.GetTempPath(), "" + incorrectStationId); var outputFiles = new[] { Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Services/HydraRingConfigurationServiceTest.cs =================================================================== diff -u -rb9f6d46631bdb16c2f1e65e791dd31e9380ccd6e -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Services/HydraRingConfigurationServiceTest.cs (.../HydraRingConfigurationServiceTest.cs) (revision b9f6d46631bdb16c2f1e65e791dd31e9380ccd6e) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Services/HydraRingConfigurationServiceTest.cs (.../HydraRingConfigurationServiceTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -114,8 +114,7 @@ "INSERT INTO [Projects] VALUES (1, 'WTI 2017', 'Ringtoets calculation');" + Environment.NewLine + Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + - "INSERT INTO [Breakwaters] VALUES (1, 1, 99.9);" + Environment.NewLine + - "INSERT INTO [Breakwaters] VALUES (1, 3, 20.2);" + Environment.NewLine; + "INSERT INTO [Breakwaters] VALUES (1, 1, 99.9);" + Environment.NewLine; // Call var creationScript = hydraRingConfigurationService.GenerateDataBaseCreationScript(); @@ -232,11 +231,8 @@ Environment.NewLine + "DELETE FROM [Breakwaters];" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (1, 1, 99.9);" + Environment.NewLine + - "INSERT INTO [Breakwaters] VALUES (1, 3, 20.2);" + Environment.NewLine + "INSERT INTO [Breakwaters] VALUES (2, 1, 99.9);" + Environment.NewLine + - "INSERT INTO [Breakwaters] VALUES (2, 3, 20.2);" + Environment.NewLine + - "INSERT INTO [Breakwaters] VALUES (3, 1, 99.9);" + Environment.NewLine + - "INSERT INTO [Breakwaters] VALUES (3, 3, 20.2);" + Environment.NewLine; + "INSERT INTO [Breakwaters] VALUES (3, 1, 99.9);" + Environment.NewLine; // Call var creationScript = hydraRingConfigurationService.GenerateDataBaseCreationScript(); @@ -317,12 +313,11 @@ } } - public override IEnumerable BreakWaters + public override HydraRingBreakWater BreakWater { get { - yield return new HydraRingBreakWater(1, 99.9); - yield return new HydraRingBreakWater(3, 20.2); + return new HydraRingBreakWater(1, 99.9); } } Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioExtensionsTest.cs =================================================================== diff -u -rc5f90c4f9b42d985f16f99ad8732576b9217267a -r54c270e65b7ea51ec9855500fbc7cd9f5869fceb --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioExtensionsTest.cs (.../PipingCalculationScenarioExtensionsTest.cs) (revision c5f90c4f9b42d985f16f99ad8732576b9217267a) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioExtensionsTest.cs (.../PipingCalculationScenarioExtensionsTest.cs) (revision 54c270e65b7ea51ec9855500fbc7cd9f5869fceb) @@ -32,19 +32,6 @@ public class PipingCalculationScenarioExtensionsTest { [Test] - public void IsSurfaceLineIntersectionWithReferenceLineInSection_IPipingCalculationItemNotPipingCalculationScenario_ReturnsFalse() - { - // Setup - var calculation = new PipingCalculationScenario(new GeneralPipingInput(), new NormProbabilityPipingInput()); - - // Call - var intersects = calculation.IsSurfaceLineIntersectionWithReferenceLineInSection(Enumerable.Empty()); - - // Assert - Assert.IsFalse(intersects); - } - - [Test] public void IsSurfaceLineIntersectionWithReferenceLineInSection_SurfaceLineNull_ReturnsFalse() { // Setup