Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs =================================================================== diff -u -r5b2327e0eea8a6fb1e51198ba41c1c74b4676e7c -rd859a8308857ce1bf82ff94356a30363213c6ff6 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs (.../GrassCoverErosionInwardsInputTest.cs) (revision 5b2327e0eea8a6fb1e51198ba41c1c74b4676e7c) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsInputTest.cs (.../GrassCoverErosionInwardsInputTest.cs) (revision d859a8308857ce1bf82ff94356a30363213c6ff6) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using Core.Common.Base; using Core.Common.Base.Data; @@ -225,25 +226,27 @@ public void CriticalFlowRate_SetNewValue_GetNewValues() { // Setup - const double meanValue = 1.2345689; - const double standardDeviationValue = 9.87654321; + var random = new Random(22); var input = new GrassCoverErosionInwardsInput(); - - int originalNumberOfDecimalPlacesMean = input.CriticalFlowRate.Mean.NumberOfDecimalPlaces; - int originalNumberOfDecimalPlacesStandardDeviation = input.CriticalFlowRate.StandardDeviation.NumberOfDecimalPlaces; - - // Call - input.CriticalFlowRate = new LogNormalDistribution(10) + var mean = (RoundedDouble)(0.01 + random.NextDouble()); + var standardDeviation = (RoundedDouble)(0.01 + random.NextDouble()); + var expectedDistribution = new LogNormalDistribution(4) { - Mean = (RoundedDouble) meanValue, - StandardDeviation = (RoundedDouble) standardDeviationValue + Mean = mean, + StandardDeviation = standardDeviation }; + var distributionToSet = new LogNormalDistribution(5) + { + Mean = mean, + StandardDeviation = standardDeviation + }; + // Call + input.CriticalFlowRate = distributionToSet; + // Assert - Assert.AreEqual(originalNumberOfDecimalPlacesMean, input.CriticalFlowRate.Mean.NumberOfDecimalPlaces); - Assert.AreEqual(new RoundedDouble(originalNumberOfDecimalPlacesMean, meanValue), input.CriticalFlowRate.Mean); - Assert.AreEqual(originalNumberOfDecimalPlacesStandardDeviation, input.CriticalFlowRate.StandardDeviation.NumberOfDecimalPlaces); - Assert.AreEqual(new RoundedDouble(originalNumberOfDecimalPlacesStandardDeviation, standardDeviationValue), input.CriticalFlowRate.StandardDeviation); + Assert.AreNotSame(distributionToSet, input.CriticalFlowRate); + DistributionAssert.AreEqual(expectedDistribution, input.CriticalFlowRate); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs =================================================================== diff -u -r8c4f2c495cacd793914ec618d43d21e0fa506401 -rd859a8308857ce1bf82ff94356a30363213c6ff6 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 8c4f2c495cacd793914ec618d43d21e0fa506401) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision d859a8308857ce1bf82ff94356a30363213c6ff6) @@ -330,50 +330,52 @@ public void PhreaticLevelExit_SetNewValue_UpdateMeanAndStandardDeviation() { // Setup - PipingInput inputs = new PipingInput(new GeneralPipingInput()); - NormalDistribution originalPhreaticLevelExit = inputs.PhreaticLevelExit; - - NormalDistribution newValue = new NormalDistribution(5) + var random = new Random(22); + var input = new PipingInput(new GeneralPipingInput()); + var mean = (RoundedDouble) (0.01 + random.NextDouble()); + var standardDeviation = (RoundedDouble) (0.01 + random.NextDouble()); + var expectedDistribution = new NormalDistribution(3) { - Mean = (RoundedDouble) 1.23456, - StandardDeviation = (RoundedDouble) 7.89123 + Mean = mean, + StandardDeviation = standardDeviation }; + var distributionToSet = new NormalDistribution(5) + { + Mean = mean, + StandardDeviation = standardDeviation + }; // Call - inputs.PhreaticLevelExit = newValue; + input.PhreaticLevelExit = distributionToSet; // Assert - Assert.AreSame(originalPhreaticLevelExit, inputs.PhreaticLevelExit, - "Stochast instance hasn't changed to 'newValue'."); - Assert.AreEqual(3, originalPhreaticLevelExit.Mean.NumberOfDecimalPlaces); - Assert.AreEqual(1.235, originalPhreaticLevelExit.Mean.Value); - Assert.AreEqual(3, originalPhreaticLevelExit.StandardDeviation.NumberOfDecimalPlaces); - Assert.AreEqual(7.891, originalPhreaticLevelExit.StandardDeviation.Value); + AssertDistributionCorrectlySet(input.PhreaticLevelExit, distributionToSet, expectedDistribution); } [Test] public void DampingFactorExit_SetNewValue_UpdateMeanAndStandardDeviation() { // Setup - PipingInput inputs = new PipingInput(new GeneralPipingInput()); - LogNormalDistribution originalDampingFactorExit = inputs.DampingFactorExit; - - LogNormalDistribution newValue = new LogNormalDistribution(5) + var random = new Random(22); + var input = new PipingInput(new GeneralPipingInput()); + var mean = (RoundedDouble) (0.01 + random.NextDouble()); + var standardDeviation = (RoundedDouble) (0.01 + random.NextDouble()); + var expectedDistribution = new LogNormalDistribution(3) { - Mean = (RoundedDouble) 4.56789, - StandardDeviation = (RoundedDouble) 1.23456 + Mean = mean, + StandardDeviation = standardDeviation }; + var distributionToSet = new LogNormalDistribution(5) + { + Mean = mean, + StandardDeviation = standardDeviation + }; // Call - inputs.DampingFactorExit = newValue; + input.DampingFactorExit = distributionToSet; // Assert - Assert.AreSame(originalDampingFactorExit, inputs.DampingFactorExit, - "Stochast instance hasn't changed to 'newValue'."); - Assert.AreEqual(3, originalDampingFactorExit.Mean.NumberOfDecimalPlaces); - Assert.AreEqual(4.568, originalDampingFactorExit.Mean.Value); - Assert.AreEqual(3, originalDampingFactorExit.StandardDeviation.NumberOfDecimalPlaces); - Assert.AreEqual(1.235, originalDampingFactorExit.StandardDeviation.Value); + AssertDistributionCorrectlySet(input.DampingFactorExit, distributionToSet, expectedDistribution); } [Test] @@ -807,5 +809,11 @@ return surfaceLine; } + + private static void AssertDistributionCorrectlySet(IDistribution distributionToAssert, IDistribution setDistribution, IDistribution expectedDistribution) + { + Assert.AreNotSame(setDistribution, distributionToAssert); + DistributionAssert.AreEqual(expectedDistribution, distributionToAssert); + } } } \ No newline at end of file