Fisheye: Tag 388ce371afb320cab772545f0292d1954fdc38ef refers to a dead (removed) revision in file `Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressPropertiesUnderSurfaceLine.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine.cs =================================================================== diff -u --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine.cs (revision 0) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine.cs (revision 388ce371afb320cab772545f0292d1954fdc38ef) @@ -0,0 +1,113 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Core.Common.Base.Data; +using Ringtoets.Common.Data.Probabilistics; + +namespace Ringtoets.MacroStabilityInwards.Primitives.MacroStabilityInwardsSoilUnderSurfaceLine +{ + /// + /// Preconsolidation stress properties. + /// + public class MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine + { + /// + /// Creates a new instance of . + /// + /// The object containing the value for the properties of + /// the new . + /// Thrown when is null. + public MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine(ConstructionProperties properties) + { + if (properties == null) + { + throw new ArgumentNullException(nameof(properties)); + } + + XCoordinate = properties.XCoordinate; + ZCoordinate = properties.ZCoordinate; + PreconsolidationStress = new VariationCoefficientLogNormalDistribution(2) + { + Mean = (RoundedDouble) properties.PreconsolidationStressMean, + CoefficientOfVariation = (RoundedDouble) properties.PreconsolidationStressCoefficientOfVariation + }; + } + + + /// + /// Gets the value representing the X coordinate of the preconsolidation stress location. + /// [m] + /// + public double XCoordinate { get; } + + + /// + /// Gets the value representing the Z coordinate of the preconsolidation stress location. + /// [m] + /// + public double ZCoordinate { get; } + + + /// + /// Gets the preconsolidation stress distribution. + /// [kN/m³] + /// + public VariationCoefficientLogNormalDistribution PreconsolidationStress { get; } + + /// + /// Gets or sets the preconsolidation stress distribution design variable. + /// [kN/m³] + /// + public RoundedDouble PreconsolidationStressDesignVariable { get; set; } = RoundedDouble.NaN; + + /// + /// Class holding the properties for constructing a + /// . + /// + public class ConstructionProperties + { + /// + /// Gets or sets the value representing the X coordinate of the preconsolidation stress location. + /// [m] + /// + public double XCoordinate { get; set; } = double.NaN; + + /// + /// Gets or sets the value representing the Z coordinate of the preconsolidation stress location. + /// [m] + /// + public double ZCoordinate { get; set; } = double.NaN; + + /// + /// Gets or sets the mean of the preconsolidation stress distribution. + /// [kN/m³] + /// + public double PreconsolidationStressMean { get; set; } = double.NaN; + + /// + /// Gets or sets the coefficient of variation of the preconsolidation stress distribution. + /// [kN/m³] + /// + public double PreconsolidationStressCoefficientOfVariation { get; set; } = double.NaN; + } + } +} \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsSoilProfileUnderSurfaceLine.cs =================================================================== diff -u -rd943fd564e922e47afdf738b7ae7c455880d6898 -r388ce371afb320cab772545f0292d1954fdc38ef --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsSoilProfileUnderSurfaceLine.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLine.cs) (revision d943fd564e922e47afdf738b7ae7c455880d6898) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsSoilProfileUnderSurfaceLine.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLine.cs) (revision 388ce371afb320cab772545f0292d1954fdc38ef) @@ -42,7 +42,7 @@ throw new ArgumentNullException(nameof(layersUnderSurfaceLine)); } LayersUnderSurfaceLine = layersUnderSurfaceLine; - PreconsolidationStresses = new List(); + PreconsolidationStresses = new List(); } /// @@ -53,6 +53,6 @@ /// /// Gets the preconsolidation stresses in the profile. /// - public List PreconsolidationStresses { get; } + public List PreconsolidationStresses { get; } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/Ringtoets.MacroStabilityInwards.Primitives.csproj =================================================================== diff -u -r378756fb27984abc7c2fdf13650b5b1700f94917 -r388ce371afb320cab772545f0292d1954fdc38ef --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/Ringtoets.MacroStabilityInwards.Primitives.csproj (.../Ringtoets.MacroStabilityInwards.Primitives.csproj) (revision 378756fb27984abc7c2fdf13650b5b1700f94917) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Primitives/Ringtoets.MacroStabilityInwards.Primitives.csproj (.../Ringtoets.MacroStabilityInwards.Primitives.csproj) (revision 388ce371afb320cab772545f0292d1954fdc38ef) @@ -46,7 +46,7 @@ - + Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.KernelWrapper.Test/Creators/SoilProfileCreatorTest.cs =================================================================== diff -u -r34ad98587d7f114c9f7c2233199b34fc1ef6dc76 -r388ce371afb320cab772545f0292d1954fdc38ef --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.KernelWrapper.Test/Creators/SoilProfileCreatorTest.cs (.../SoilProfileCreatorTest.cs) (revision 34ad98587d7f114c9f7c2233199b34fc1ef6dc76) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.KernelWrapper.Test/Creators/SoilProfileCreatorTest.cs (.../SoilProfileCreatorTest.cs) (revision 388ce371afb320cab772545f0292d1954fdc38ef) @@ -108,8 +108,8 @@ { PreconsolidationStresses = { - new MacroStabilityInwardsPreconsolidationStressPropertiesUnderSurfaceLine( - new MacroStabilityInwardsPreconsolidationStressPropertiesUnderSurfaceLine.ConstructionProperties + new MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine( + new MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine.ConstructionProperties { XCoordinate = preconsolidationStressXCoordinate, ZCoordinate = preconsolidationStressZCoordinate Fisheye: Tag 388ce371afb320cab772545f0292d1954fdc38ef refers to a dead (removed) revision in file `Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressPropertiesUnderSurfaceLineTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressUnderSurfaceLineTest.cs =================================================================== diff -u --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressUnderSurfaceLineTest.cs (revision 0) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/MacroStabilityInwardsSoilUnderSurfaceLine/MacroStabilityInwardsPreconsolidationStressUnderSurfaceLineTest.cs (revision 388ce371afb320cab772545f0292d1954fdc38ef) @@ -0,0 +1,100 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Core.Common.Base.Data; +using Core.Common.TestUtil; +using NUnit.Framework; +using Ringtoets.Common.Data.Probabilistics; +using Ringtoets.Common.Data.TestUtil; +using Ringtoets.MacroStabilityInwards.Primitives.MacroStabilityInwardsSoilUnderSurfaceLine; + +namespace Ringtoets.MacroStabilityInwards.Primitives.Test.MacroStabilityInwardsSoilUnderSurfaceLine +{ + [TestFixture] + public class MacroStabilityInwardsPreconsolidationStressUnderSurfaceLineTest + { + [Test] + public void Constructor_ConstructionPropertiesNull_ThrowsArgumentException() + { + // Call + TestDelegate call = () => new MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine(null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("properties", exception.ParamName); + } + + [Test] + public void Constructor_DefaultConstructionProperties_ReturnsExpectedValues() + { + // Setup + var constructionProperties = new MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine.ConstructionProperties(); + + // Call + var stressProperties = new MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine(constructionProperties); + + // Assert + DistributionAssert.AreEqual(new VariationCoefficientLogNormalDistribution(2) + { + Mean = RoundedDouble.NaN, + CoefficientOfVariation = RoundedDouble.NaN + }, stressProperties.PreconsolidationStress); + + Assert.IsNaN(stressProperties.XCoordinate); + Assert.IsNaN(stressProperties.ZCoordinate); + Assert.IsNaN(stressProperties.PreconsolidationStressDesignVariable); + } + + [Test] + public void Constructor_ConstructionPropertiesWithValues_ReturnsExpectedValues() + { + // Setup + var random = new Random(30); + var constructionProperties = new MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine.ConstructionProperties + { + XCoordinate = random.NextDouble(), + ZCoordinate = random.NextDouble(), + PreconsolidationStressMean = random.NextDouble(), + PreconsolidationStressCoefficientOfVariation = random.NextDouble() + }; + + RoundedDouble preconsolidationStressDesignVariable = random.NextRoundedDouble(); + + // Call + var stressProperties = new MacroStabilityInwardsPreconsolidationStressUnderSurfaceLine(constructionProperties) + { + PreconsolidationStressDesignVariable = preconsolidationStressDesignVariable + }; + + // Assert + DistributionAssert.AreEqual(new VariationCoefficientLogNormalDistribution(2) + { + Mean = (RoundedDouble) constructionProperties.PreconsolidationStressMean, + CoefficientOfVariation = (RoundedDouble) constructionProperties.PreconsolidationStressCoefficientOfVariation + }, stressProperties.PreconsolidationStress); + + Assert.AreEqual(constructionProperties.XCoordinate, stressProperties.XCoordinate); + Assert.AreEqual(constructionProperties.ZCoordinate, stressProperties.ZCoordinate); + Assert.AreEqual(preconsolidationStressDesignVariable, stressProperties.PreconsolidationStressDesignVariable); + } + } +} \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/Ringtoets.MacroStabilityInwards.Primitives.Test.csproj =================================================================== diff -u -r378756fb27984abc7c2fdf13650b5b1700f94917 -r388ce371afb320cab772545f0292d1954fdc38ef --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/Ringtoets.MacroStabilityInwards.Primitives.Test.csproj (.../Ringtoets.MacroStabilityInwards.Primitives.Test.csproj) (revision 378756fb27984abc7c2fdf13650b5b1700f94917) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Primitives.Test/Ringtoets.MacroStabilityInwards.Primitives.Test.csproj (.../Ringtoets.MacroStabilityInwards.Primitives.Test.csproj) (revision 388ce371afb320cab772545f0292d1954fdc38ef) @@ -58,7 +58,7 @@ - +