Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs =================================================================== diff -u -rd5d457c61d546522500542ac8fe3967882e0157e -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs (.../MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs) (revision d5d457c61d546522500542ac8fe3967882e0157e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs (.../MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -51,8 +51,8 @@ { CoordinateX = preconsolidationStress.XCoordinate, CoordinateZ = preconsolidationStress.ZCoordinate, - PreconsolidationStressMean = preconsolidationStress.PreconsolidationStressMean, - PreconsolidationStressCoefficientOfVariation = preconsolidationStress.PreconsolidationStressCoefficientOfVariation, + PreconsolidationStressMean = preconsolidationStress.PreconsolidationStress.Mean, + PreconsolidationStressCoefficientOfVariation = preconsolidationStress.PreconsolidationStress.CoefficientOfVariation, Order = order }; } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensionsTest.cs =================================================================== diff -u -rd5d457c61d546522500542ac8fe3967882e0157e -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensionsTest.cs (.../MacroStabilityInwardsPreconsolidationStressCreateExtensionsTest.cs) (revision d5d457c61d546522500542ac8fe3967882e0157e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensionsTest.cs (.../MacroStabilityInwardsPreconsolidationStressCreateExtensionsTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -23,6 +23,8 @@ using Application.Ringtoets.Storage.Create.MacroStabilityInwards; using Application.Ringtoets.Storage.DbContext; using NUnit.Framework; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.MacroStabilityInwards.Primitives; namespace Application.Ringtoets.Storage.Test.Create.MacroStabilityInwards @@ -59,8 +61,12 @@ Assert.IsNotNull(entity); Assert.AreEqual(stress.XCoordinate, entity.CoordinateX); Assert.AreEqual(stress.ZCoordinate, entity.CoordinateZ); - Assert.AreEqual(stress.PreconsolidationStressMean, entity.PreconsolidationStressMean); - Assert.AreEqual(stress.PreconsolidationStressCoefficientOfVariation, entity.PreconsolidationStressCoefficientOfVariation); + + VariationCoefficientLogNormalDistribution preconsolidationStressDistribution = stress.PreconsolidationStress; + Assert.AreEqual(preconsolidationStressDistribution.Mean, entity.PreconsolidationStressMean, + preconsolidationStressDistribution.GetAccuracy()); + Assert.AreEqual(preconsolidationStressDistribution.CoefficientOfVariation, entity.PreconsolidationStressCoefficientOfVariation, + preconsolidationStressDistribution.GetAccuracy()); Assert.AreEqual(order, entity.Order); } } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile2DCreateExtensionsTest.cs =================================================================== diff -u -r1ba21a629ef9ee35b003e5f5e66f26f5b8bc7766 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile2DCreateExtensionsTest.cs (.../MacroStabilityInwardsSoilProfile2DCreateExtensionsTest.cs) (revision 1ba21a629ef9ee35b003e5f5e66f26f5b8bc7766) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile2DCreateExtensionsTest.cs (.../MacroStabilityInwardsSoilProfile2DCreateExtensionsTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -28,6 +28,8 @@ using Core.Common.Base.Geometry; using Core.Common.TestUtil; using NUnit.Framework; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.MacroStabilityInwards.Primitives; using Ringtoets.MacroStabilityInwards.Primitives.TestUtil; @@ -125,8 +127,12 @@ { Assert.AreEqual(preconsolidationStress.XCoordinate, entity.CoordinateX); Assert.AreEqual(preconsolidationStress.ZCoordinate, entity.CoordinateZ); - Assert.AreEqual(preconsolidationStress.PreconsolidationStressMean, entity.PreconsolidationStressMean); - Assert.AreEqual(preconsolidationStress.PreconsolidationStressCoefficientOfVariation, entity.PreconsolidationStressCoefficientOfVariation); + + VariationCoefficientLogNormalDistribution preconsolidationDistribution = preconsolidationStress.PreconsolidationStress; + Assert.AreEqual(preconsolidationDistribution.Mean, entity.PreconsolidationStressMean, + preconsolidationDistribution.GetAccuracy()); + Assert.AreEqual(preconsolidationDistribution.CoefficientOfVariation, entity.PreconsolidationStressCoefficientOfVariation, + preconsolidationDistribution.GetAccuracy()); } private static MacroStabilityInwardsSoilProfile2D CreateMacroStabilityInwardsSoilProfile2D() Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressEntityReadExtensionsTest.cs =================================================================== diff -u -r4afb3d635232a5570c867f890f2c8b4f973ea7f7 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressEntityReadExtensionsTest.cs (.../MacroStabilityInwardsPreconsolidationStressEntityReadExtensionsTest.cs) (revision 4afb3d635232a5570c867f890f2c8b4f973ea7f7) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressEntityReadExtensionsTest.cs (.../MacroStabilityInwardsPreconsolidationStressEntityReadExtensionsTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -23,6 +23,8 @@ using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Read.MacroStabilityInwards; using NUnit.Framework; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.MacroStabilityInwards.Primitives; namespace Application.Ringtoets.Storage.Test.Read.MacroStabilityInwards @@ -61,8 +63,12 @@ Assert.IsNotNull(stress); Assert.AreEqual(entity.CoordinateX, stress.XCoordinate); Assert.AreEqual(entity.CoordinateZ, stress.ZCoordinate); - Assert.AreEqual(entity.PreconsolidationStressMean, stress.PreconsolidationStressMean); - Assert.AreEqual(entity.PreconsolidationStressCoefficientOfVariation, stress.PreconsolidationStressCoefficientOfVariation); + + VariationCoefficientLogNormalDistribution preconsolidationStressDistribution = stress.PreconsolidationStress; + Assert.AreEqual(entity.PreconsolidationStressMean, preconsolidationStressDistribution.Mean, + preconsolidationStressDistribution.GetAccuracy()); + Assert.AreEqual(entity.PreconsolidationStressCoefficientOfVariation, preconsolidationStressDistribution.CoefficientOfVariation, + preconsolidationStressDistribution.GetAccuracy()); } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/PreconsolidationStressReaderTest.cs =================================================================== diff -u -r0fa0d88d03cc6adb9d820c65c4c7a43e853ef5a3 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/PreconsolidationStressReaderTest.cs (.../PreconsolidationStressReaderTest.cs) (revision 0fa0d88d03cc6adb9d820c65c4c7a43e853ef5a3) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/PreconsolidationStressReaderTest.cs (.../PreconsolidationStressReaderTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -62,10 +62,7 @@ public void Constructor_InvalidPath_ThrowsCriticalFileReadException(string fileName) { // Call - TestDelegate test = () => - { - using (new PreconsolidationStressReader(fileName)) {} - }; + TestDelegate test = () => new PreconsolidationStressReader(fileName); // Assert Assert.Throws(test); @@ -132,7 +129,7 @@ } [Test] - public void HasNext_DatabaseWithStochasticSoilModels_ReturnsTrue() + public void HasNext_DatabaseWithPreconsolidationStresses_ReturnsTrue() { // Setup string dbFile = Path.Combine(testDataPath, "2dprofileWithPreconsolidationStresses.soil"); @@ -152,7 +149,7 @@ } [Test] - public void ReadStochasticSoilModelId_EmptyDatabase_ThrowsInvalidOperationException() + public void ReadSoilProfileId_EmptyDatabase_ThrowsInvalidOperationException() { // Setup string dbFile = Path.Combine(testDataPath, "emptySchema.soil"); @@ -318,33 +315,33 @@ { 2, 3 - },readStresses.Select(stress => stress.XCoordinate)); + }, readStresses.Select(stress => stress.XCoordinate)); CollectionAssert.AreEqual(new[] { 2, 3 - },readStresses.Select(stress => stress.ZCoordinate)); + }, readStresses.Select(stress => stress.ZCoordinate)); CollectionAssert.AreEqual(new[] - { + { 3, 3 }, readStresses.Select(stress => stress.PreconsolidationStressDistributionType)); CollectionAssert.AreEqual(new[] { 2, 3 - },readStresses.Select(stress => stress.PreconsolidationStressMean)); + }, readStresses.Select(stress => stress.PreconsolidationStressMean)); CollectionAssert.AreEqual(new[] { 1, 1 - },readStresses.Select(stress => stress.PreconsolidationStressCoefficientOfVariation)); + }, readStresses.Select(stress => stress.PreconsolidationStressCoefficientOfVariation)); CollectionAssert.AreEqual(new[] { 0, 0 - },readStresses.Select(stress => stress.PreconsolidationStressShift)); + }, readStresses.Select(stress => stress.PreconsolidationStressShift)); Assert.IsTrue(TestHelper.CanOpenFileForWrite(dbFile)); } Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SegmentPointReaderTest.cs =================================================================== diff -u -r7d75a76b897703b9bb91056cf0970d684730f1ed -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SegmentPointReaderTest.cs (.../SegmentPointReaderTest.cs) (revision 7d75a76b897703b9bb91056cf0970d684730f1ed) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SegmentPointReaderTest.cs (.../SegmentPointReaderTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -61,10 +61,7 @@ public void Constructor_InvalidPath_ThrowsCriticalFileReadException(string fileName) { // Call - TestDelegate test = () => - { - using (new SegmentPointReader(fileName)) {} - }; + TestDelegate test = () => new SegmentPointReader(fileName); // Assert Assert.Throws(test); Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SoilProfile1DReaderTest.cs =================================================================== diff -u -r4d10bc0d4756085a58be2734b2877cead7f47973 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SoilProfile1DReaderTest.cs (.../SoilProfile1DReaderTest.cs) (revision 4d10bc0d4756085a58be2734b2877cead7f47973) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SoilProfile1DReaderTest.cs (.../SoilProfile1DReaderTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -61,10 +61,7 @@ public void Constructor_InvalidPath_ThrowsCriticalFileReadException(string fileName) { // Call - TestDelegate test = () => - { - using (new SoilProfile1DReader(fileName)) {} - }; + TestDelegate test = () => new SoilProfile1DReader(fileName); // Assert Assert.Throws(test); Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SoilProfile2DReaderTest.cs =================================================================== diff -u -r0fa0d88d03cc6adb9d820c65c4c7a43e853ef5a3 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SoilProfile2DReaderTest.cs (.../SoilProfile2DReaderTest.cs) (revision 0fa0d88d03cc6adb9d820c65c4c7a43e853ef5a3) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/SoilProfile2DReaderTest.cs (.../SoilProfile2DReaderTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -62,10 +62,7 @@ public void Constructor_InvalidPath_ThrowsCriticalFileReadException(string fileName) { // Call - TestDelegate test = () => - { - using (new SoilProfile2DReader(fileName)) {} - }; + TestDelegate test = () => new SoilProfile2DReader(fileName); // Assert Assert.Throws(test); Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/StochasticSoilModelReaderTest.cs =================================================================== diff -u -rc7c07e0937c3148b6223ebdad64fe7d326d1625f -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/StochasticSoilModelReaderTest.cs (.../StochasticSoilModelReaderTest.cs) (revision c7c07e0937c3148b6223ebdad64fe7d326d1625f) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/SoilProfile/StochasticSoilModelReaderTest.cs (.../StochasticSoilModelReaderTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -66,10 +66,7 @@ public void Constructor_InvalidPath_ThrowsCriticalFileReadException(string fileName) { // Call - TestDelegate test = () => - { - using (new StochasticSoilModelReader(fileName)) {} - }; + TestDelegate test = () => new StochasticSoilModelReader(fileName); // Assert Assert.Throws(test); Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs =================================================================== diff -u -r3f74bb4c7f48c55dd67639ebef7a803567bc3aad -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs) (revision 3f74bb4c7f48c55dd67639ebef7a803567bc3aad) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -139,8 +139,8 @@ { XCoordinate = preconsolidationStress.XCoordinate, ZCoordinate = preconsolidationStress.ZCoordinate, - PreconsolidationStressMean = preconsolidationStress.PreconsolidationStressMean, - PreconsolidationStressCoefficientOfVariation = preconsolidationStress.PreconsolidationStressCoefficientOfVariation + PreconsolidationStressMean = preconsolidationStress.PreconsolidationStress.Mean, + PreconsolidationStressCoefficientOfVariation = preconsolidationStress.PreconsolidationStress.CoefficientOfVariation }); macroStabilityInwardsPreconsolidationStressUnderSurfaceLine.PreconsolidationStressDesignVariable = Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PropertyClasses/MacroStabilityInwardsPreconsolidationStressProperties.cs =================================================================== diff -u -rf9a05eac5abbe32393ec1ceee14b61cd9ed6bb23 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PropertyClasses/MacroStabilityInwardsPreconsolidationStressProperties.cs (.../MacroStabilityInwardsPreconsolidationStressProperties.cs) (revision f9a05eac5abbe32393ec1ceee14b61cd9ed6bb23) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PropertyClasses/MacroStabilityInwardsPreconsolidationStressProperties.cs (.../MacroStabilityInwardsPreconsolidationStressProperties.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -24,7 +24,6 @@ using Core.Common.Base.Data; using Core.Common.Gui.PropertyBag; using Core.Common.Utils.Attributes; -using Ringtoets.Common.Data.Probabilistics; using Ringtoets.Common.Forms.PropertyClasses; using Ringtoets.MacroStabilityInwards.Forms.Properties; using Ringtoets.MacroStabilityInwards.Primitives; @@ -84,12 +83,7 @@ { get { - var variationCoefficientLogNormalDistribution = new VariationCoefficientLogNormalDistribution(2) - { - Mean = (RoundedDouble) data.PreconsolidationStressMean, - CoefficientOfVariation = (RoundedDouble) data.PreconsolidationStressCoefficientOfVariation - }; - return new VariationCoefficientLogNormalDistributionProperties(variationCoefficientLogNormalDistribution); + return new VariationCoefficientLogNormalDistributionProperties(data.PreconsolidationStress); } } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsPreconsolidationStress.cs =================================================================== diff -u -r3fe99efe7580ec1d9eb850908c001c990dc43fe5 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsPreconsolidationStress.cs (.../MacroStabilityInwardsPreconsolidationStress.cs) (revision 3fe99efe7580ec1d9eb850908c001c990dc43fe5) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsPreconsolidationStress.cs (.../MacroStabilityInwardsPreconsolidationStress.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -20,6 +20,8 @@ // All rights reserved. using System; +using Core.Common.Base.Data; +using Ringtoets.Common.Data.Probabilistics; using Ringtoets.MacroStabilityInwards.Primitives.Properties; namespace Ringtoets.MacroStabilityInwards.Primitives @@ -39,7 +41,7 @@ /// for the preconsolidation stress. /// The coefficient of /// variation of the stochastic distribution for the preconsolidation stress. - /// Thrown when any of the parameters has an invalid value. + /// Thrown when any of the parameters are . public MacroStabilityInwardsPreconsolidationStress(double xCoordinate, double zCoordinate, double preconsolidationStressMean, @@ -52,8 +54,12 @@ XCoordinate = xCoordinate; ZCoordinate = zCoordinate; - PreconsolidationStressMean = preconsolidationStressMean; - PreconsolidationStressCoefficientOfVariation = preconsolidationStressCoefficientOfVariation; + + PreconsolidationStress = new VariationCoefficientLogNormalDistribution(2) + { + Mean = (RoundedDouble) preconsolidationStressMean, + CoefficientOfVariation = (RoundedDouble) preconsolidationStressCoefficientOfVariation + }; } /// @@ -69,32 +75,11 @@ public double ZCoordinate { get; } /// - /// Gets the value representing the mean of the distribution for the preconsolidation stress. + /// Gets the distribution for the preconsolidation stress. /// [kN/m�] /// - public double PreconsolidationStressMean { get; } + public VariationCoefficientLogNormalDistribution PreconsolidationStress { get; } - /// - /// Gets the value representing the coefficient of variation of the distribution for the preconsolidation stress. - /// [kN/m�] - /// - public double PreconsolidationStressCoefficientOfVariation { get; } - - /// - /// Validates if the is a valid value. - /// - /// The value to validate. - /// The name of the parameter to validate. - /// Thrown if the parameter value is invalid. - private static void ValidateParameter(double value, string parameterName) - { - if (double.IsNaN(value)) - { - string message = string.Format(Resources.MacroStabilityInwardsPreconsolidationStress_ValidateParameter_The_value_of_ParameterName_0_must_be_a_concrete_value, parameterName); - throw new ArgumentException(message); - } - } - public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) @@ -112,24 +97,37 @@ return Equals((MacroStabilityInwardsPreconsolidationStress) obj); } - private bool Equals(MacroStabilityInwardsPreconsolidationStress other) - { - return XCoordinate.Equals(other.XCoordinate) - && ZCoordinate.Equals(other.ZCoordinate) - && PreconsolidationStressMean.Equals(other.PreconsolidationStressMean) - && PreconsolidationStressCoefficientOfVariation.Equals(other.PreconsolidationStressCoefficientOfVariation); - } - public override int GetHashCode() { unchecked { int hashCode = XCoordinate.GetHashCode(); hashCode = (hashCode * 397) ^ ZCoordinate.GetHashCode(); - hashCode = (hashCode * 397) ^ PreconsolidationStressMean.GetHashCode(); - hashCode = (hashCode * 397) ^ PreconsolidationStressCoefficientOfVariation.GetHashCode(); + hashCode = (hashCode * 397) ^ PreconsolidationStress.GetHashCode(); return hashCode; } } + + /// + /// Validates if the is a valid value. + /// + /// The value to validate. + /// The name of the parameter to validate. + /// Thrown if the parameter value is invalid. + private static void ValidateParameter(double value, string parameterName) + { + if (double.IsNaN(value)) + { + string message = string.Format(Resources.MacroStabilityInwardsPreconsolidationStress_ValidateParameter_The_value_of_ParameterName_0_must_be_a_concrete_value, parameterName); + throw new ArgumentException(message); + } + } + + private bool Equals(MacroStabilityInwardsPreconsolidationStress other) + { + return XCoordinate.Equals(other.XCoordinate) + && ZCoordinate.Equals(other.ZCoordinate) + && PreconsolidationStress.Equals(other.PreconsolidationStress); + } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactoryTest.cs =================================================================== diff -u -r3fe99efe7580ec1d9eb850908c001c990dc43fe5 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactoryTest.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLineFactoryTest.cs) (revision 3fe99efe7580ec1d9eb850908c001c990dc43fe5) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactoryTest.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLineFactoryTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -579,15 +579,15 @@ Assert.AreEqual(preconsolidationStress.XCoordinate, preconsolidationStressUnderSurfaceLine.XCoordinate); Assert.AreEqual(preconsolidationStress.ZCoordinate, preconsolidationStressUnderSurfaceLine.ZCoordinate); - Assert.AreEqual(preconsolidationStress.PreconsolidationStressMean, + Assert.AreEqual(preconsolidationStress.PreconsolidationStress.Mean, preconsolidationStressUnderSurfaceLine.PreconsolidationStress.Mean, - preconsolidationStressUnderSurfaceLine.PreconsolidationStress.Mean.GetAccuracy()); - Assert.AreEqual(preconsolidationStress.PreconsolidationStressCoefficientOfVariation, + preconsolidationStressUnderSurfaceLine.PreconsolidationStress.GetAccuracy()); + Assert.AreEqual(preconsolidationStress.PreconsolidationStress.CoefficientOfVariation, preconsolidationStressUnderSurfaceLine.PreconsolidationStress.CoefficientOfVariation, - preconsolidationStressUnderSurfaceLine.PreconsolidationStress.CoefficientOfVariation.GetAccuracy()); + preconsolidationStressUnderSurfaceLine.PreconsolidationStress.GetAccuracy()); Assert.AreEqual(MacroStabilityInwardsSemiProbabilisticDesignValueFactory.GetPreconsolidationStress(preconsolidationStressUnderSurfaceLine).GetDesignValue(), - preconsolidationStressUnderSurfaceLine.PreconsolidationStressDesignVariable); + preconsolidationStressUnderSurfaceLine.PreconsolidationStressDesignVariable); } private static void AssertDistributionsAndDesignVariables(MacroStabilityInwardsSoilLayerPropertiesUnderSurfaceLine properties, Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsPreconsolidationStressPropertiesTest.cs =================================================================== diff -u -r3fe99efe7580ec1d9eb850908c001c990dc43fe5 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsPreconsolidationStressPropertiesTest.cs (.../MacroStabilityInwardsPreconsolidationStressPropertiesTest.cs) (revision 3fe99efe7580ec1d9eb850908c001c990dc43fe5) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsPreconsolidationStressPropertiesTest.cs (.../MacroStabilityInwardsPreconsolidationStressPropertiesTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -21,7 +21,6 @@ using System; using System.ComponentModel; -using Core.Common.Base.Data; using Core.Common.Gui.PropertyBag; using Core.Common.TestUtil; using NUnit.Framework; @@ -70,12 +69,7 @@ Assert.AreEqual(stress.ZCoordinate, properties.ZCoordinate, properties.ZCoordinate.GetAccuracy()); Assert.IsInstanceOf(properties.PreconsolidationStress); - Assert.AreEqual(2, properties.PreconsolidationStress.Mean.NumberOfDecimalPlaces); - Assert.AreEqual(stress.PreconsolidationStressMean, properties.PreconsolidationStress.Mean, - properties.PreconsolidationStress.Mean.GetAccuracy()); - Assert.AreEqual(2, properties.PreconsolidationStress.Mean.NumberOfDecimalPlaces); - Assert.AreEqual(stress.PreconsolidationStressCoefficientOfVariation, properties.PreconsolidationStress.CoefficientOfVariation, - properties.PreconsolidationStress.CoefficientOfVariation.GetAccuracy()); + Assert.AreSame(stress.PreconsolidationStress, properties.PreconsolidationStress.Data); } [Test] Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/SoilProfiles/MacroStabilityInwardsPreconsolidationStressTransformerTest.cs =================================================================== diff -u -r3fe99efe7580ec1d9eb850908c001c990dc43fe5 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/SoilProfiles/MacroStabilityInwardsPreconsolidationStressTransformerTest.cs (.../MacroStabilityInwardsPreconsolidationStressTransformerTest.cs) (revision 3fe99efe7580ec1d9eb850908c001c990dc43fe5) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/SoilProfiles/MacroStabilityInwardsPreconsolidationStressTransformerTest.cs (.../MacroStabilityInwardsPreconsolidationStressTransformerTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -22,6 +22,8 @@ using System; using System.Collections.Generic; using NUnit.Framework; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.IO.Exceptions; using Ringtoets.Common.IO.SoilProfile; using Ringtoets.MacroStabilityInwards.IO.SoilProfiles; @@ -65,9 +67,13 @@ // Assert Assert.AreEqual(preconsolidationStress.XCoordinate, transformedStress.XCoordinate); Assert.AreEqual(preconsolidationStress.ZCoordinate, transformedStress.ZCoordinate); - Assert.AreEqual(preconsolidationStress.PreconsolidationStressMean, transformedStress.PreconsolidationStressMean); + + VariationCoefficientLogNormalDistribution transformedPreconsolidationStressDistribution = transformedStress.PreconsolidationStress; + Assert.AreEqual(preconsolidationStress.PreconsolidationStressMean, transformedPreconsolidationStressDistribution.Mean, + transformedPreconsolidationStressDistribution.GetAccuracy()); Assert.AreEqual(preconsolidationStress.PreconsolidationStressCoefficientOfVariation, - transformedStress.PreconsolidationStressCoefficientOfVariation); + transformedPreconsolidationStressDistribution.CoefficientOfVariation, + transformedPreconsolidationStressDistribution.GetAccuracy()); } [Test] Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/SoilProfiles/MacroStabilityInwardsSoilProfileTransformerTest.cs =================================================================== diff -u -rba72ea65adf35ee865e55cd8e173e988f234eea9 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/SoilProfiles/MacroStabilityInwardsSoilProfileTransformerTest.cs (.../MacroStabilityInwardsSoilProfileTransformerTest.cs) (revision ba72ea65adf35ee865e55cd8e173e988f234eea9) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/SoilProfiles/MacroStabilityInwardsSoilProfileTransformerTest.cs (.../MacroStabilityInwardsSoilProfileTransformerTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -21,8 +21,11 @@ using System; using System.Linq; +using Core.Common.Base.Data; using NUnit.Framework; using Rhino.Mocks; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.IO.Exceptions; using Ringtoets.Common.IO.SoilProfile; using Ringtoets.Common.IO.TestUtil; @@ -139,10 +142,12 @@ transformedPreconsolidationStress.XCoordinate); Assert.AreEqual(preconsolidationStress.ZCoordinate, transformedPreconsolidationStress.ZCoordinate); - Assert.AreEqual(preconsolidationStress.PreconsolidationStressMean, - transformedPreconsolidationStress.PreconsolidationStressMean); - Assert.AreEqual(preconsolidationStress.PreconsolidationStressCoefficientOfVariation, - transformedPreconsolidationStress.PreconsolidationStressCoefficientOfVariation); + + DistributionAssert.AreEqual(new VariationCoefficientLogNormalDistribution(2) + { + Mean = (RoundedDouble) preconsolidationStress.PreconsolidationStressMean, + CoefficientOfVariation = (RoundedDouble) preconsolidationStress.PreconsolidationStressCoefficientOfVariation + }, transformedPreconsolidationStress.PreconsolidationStress); } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/MacroStabilityInwardsStochasticSoilModelUpdateDataStrategyTest.cs =================================================================== diff -u -rb8493c6fb982b455e36129083cc009c5c07a7d05 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/MacroStabilityInwardsStochasticSoilModelUpdateDataStrategyTest.cs (.../MacroStabilityInwardsStochasticSoilModelUpdateDataStrategyTest.cs) (revision b8493c6fb982b455e36129083cc009c5c07a7d05) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/MacroStabilityInwardsStochasticSoilModelUpdateDataStrategyTest.cs (.../MacroStabilityInwardsStochasticSoilModelUpdateDataStrategyTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -586,8 +586,8 @@ soilProfile.PreconsolidationStresses.Select(stress => new MacroStabilityInwardsPreconsolidationStress( stress.XCoordinate + 1, stress.ZCoordinate, - stress.PreconsolidationStressMean, - stress.PreconsolidationStressCoefficientOfVariation)))); + stress.PreconsolidationStress.Mean, + stress.PreconsolidationStress.CoefficientOfVariation)))); } private static MacroStabilityInwardsStochasticSoilProfile CloneAndSlightlyModify1DProfile(MacroStabilityInwardsStochasticSoilProfile profile) Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsPreconsolidationStressTest.cs =================================================================== diff -u -r0e505095fa8231799f2e4f1d609a106c122144c3 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsPreconsolidationStressTest.cs (.../MacroStabilityInwardsPreconsolidationStressTest.cs) (revision 0e505095fa8231799f2e4f1d609a106c122144c3) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsPreconsolidationStressTest.cs (.../MacroStabilityInwardsPreconsolidationStressTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -21,8 +21,11 @@ using System; using System.Collections.Generic; +using Core.Common.Base.Data; using Core.Common.TestUtil; using NUnit.Framework; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; namespace Ringtoets.MacroStabilityInwards.Primitives.Test { @@ -49,12 +52,15 @@ Assert.AreEqual(xCoordinate, stress.XCoordinate); Assert.AreEqual(zCoordinate, stress.ZCoordinate); - Assert.AreEqual(stressMean, stress.PreconsolidationStressMean); - Assert.AreEqual(stressCoefficientOfVariation, stress.PreconsolidationStressCoefficientOfVariation); + DistributionAssert.AreEqual(new VariationCoefficientLogNormalDistribution(2) + { + Mean = (RoundedDouble) stressMean, + CoefficientOfVariation = (RoundedDouble) stressCoefficientOfVariation + }, stress.PreconsolidationStress); } [Test] - [TestCaseSource(nameof(GetInvalidConstructorArguments))] + [TestCaseSource(nameof(GetConstructorArgumentsNaN))] public void Constructor_ArgumentsNaN_ThrowsArgumentException(double xCoordinate, double zCoordinate, double stressMean, @@ -73,6 +79,25 @@ } [Test] + [TestCase(-1, 0, "Gemiddelde moet groter zijn dan 0.")] + [TestCase(1, -1, "Variatiecoëfficiënt (CV) moet groter zijn dan of gelijk aan 1.")] + public void Constructor_ArgumentsOutOfRange_ThrowArgumentOutOfRangeException(double stressMean, + double stressCoefficientOfVariation, + string expectedMessage) + { + // Setup + var random = new Random(21); + + // Call + TestDelegate call = () => new MacroStabilityInwardsPreconsolidationStress(random.NextDouble(), + random.NextDouble(), + stressMean, + stressCoefficientOfVariation); + // Assert + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] public void Equals_ToNull_ReturnsFalse() { // Setup @@ -263,30 +288,30 @@ yield return new TestCaseData(baseStress, new MacroStabilityInwardsPreconsolidationStress(baseStress.XCoordinate + random.NextDouble(), baseStress.ZCoordinate, - baseStress.PreconsolidationStressMean, - baseStress.PreconsolidationStressCoefficientOfVariation)) + stressMean, + stressCoefficientOfVariation)) .SetName("Different X Coordinate"); yield return new TestCaseData(baseStress, new MacroStabilityInwardsPreconsolidationStress(baseStress.XCoordinate, baseStress.ZCoordinate + random.NextDouble(), - baseStress.PreconsolidationStressMean, - baseStress.PreconsolidationStressCoefficientOfVariation)) + stressMean, + stressCoefficientOfVariation)) .SetName("Different Z Coordinate"); yield return new TestCaseData(baseStress, new MacroStabilityInwardsPreconsolidationStress(baseStress.XCoordinate, baseStress.ZCoordinate, - baseStress.PreconsolidationStressMean + random.NextDouble(), - baseStress.PreconsolidationStressCoefficientOfVariation)) + stressMean + random.NextDouble(), + stressCoefficientOfVariation)) .SetName("Different Mean"); yield return new TestCaseData(baseStress, new MacroStabilityInwardsPreconsolidationStress(baseStress.XCoordinate, baseStress.ZCoordinate, - baseStress.PreconsolidationStressMean, - baseStress.PreconsolidationStressCoefficientOfVariation + random.NextDouble())) + stressMean, + stressCoefficientOfVariation + random.NextDouble())) .SetName("Different Coefficient of Variation"); } - private static IEnumerable GetInvalidConstructorArguments() + private static IEnumerable GetConstructorArgumentsNaN() { var random = new Random(21); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test/MacroStabilityInwardsPreconsolidationStressTestFactoryTest.cs =================================================================== diff -u -r1ba21a629ef9ee35b003e5f5e66f26f5b8bc7766 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test/MacroStabilityInwardsPreconsolidationStressTestFactoryTest.cs (.../MacroStabilityInwardsPreconsolidationStressTestFactoryTest.cs) (revision 1ba21a629ef9ee35b003e5f5e66f26f5b8bc7766) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test/MacroStabilityInwardsPreconsolidationStressTestFactoryTest.cs (.../MacroStabilityInwardsPreconsolidationStressTestFactoryTest.cs) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -19,7 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using Core.Common.Base.Data; using NUnit.Framework; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; namespace Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test { @@ -29,17 +32,22 @@ [Test] public void CreateMacroStabilityInwardsPreconsolidationStress_ReturnsExpectedValues() { - // Call - MacroStabilityInwardsPreconsolidationStress stress = + // Call + MacroStabilityInwardsPreconsolidationStress stress = MacroStabilityInwardsPreconsolidationStressTestFactory.CreateMacroStabilityInwardsPreconsolidationStress(); // Assert Assert.IsNotNull(stress); + Assert.AreEqual(typeof(MacroStabilityInwardsPreconsolidationStress), stress.GetType()); Assert.AreEqual(13, stress.XCoordinate); Assert.AreEqual(34, stress.ZCoordinate); - Assert.AreEqual(10.09, stress.PreconsolidationStressMean); - Assert.AreEqual(20.05, stress.PreconsolidationStressCoefficientOfVariation); + + DistributionAssert.AreEqual(new VariationCoefficientLogNormalDistribution(2) + { + Mean = (RoundedDouble) 10.09, + CoefficientOfVariation = (RoundedDouble) 20.05 + }, stress.PreconsolidationStress); } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test.csproj =================================================================== diff -u -r1b16d1bbb40c8246bd53a1dcfa7803cb92501915 -reae3622163e0c8bdfc32f73eda6f5bd8d3b02484 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test.csproj (.../Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test.csproj) (revision 1b16d1bbb40c8246bd53a1dcfa7803cb92501915) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test/Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test.csproj (.../Ringtoets.MacroStabilityInwards.Primitives.TestUtil.Test.csproj) (revision eae3622163e0c8bdfc32f73eda6f5bd8d3b02484) @@ -68,6 +68,14 @@ {3BBFD65B-B277-4E50-AE6D-BD24C3434609} Core.Common.Base + + {D4200F43-3F72-4F42-AF0A-8CED416A38EC} + Ringtoets.Common.Data + + + {4843D6E5-066F-4795-94F5-1D53932DD03C} + Ringtoets.Common.Data.TestUtil + {e9b39743-2dc9-4922-9e0f-6ba3e0e54189} Ringtoets.MacroStabilityInwards.Primitives