Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Exporters/PipingConfigurationWriter.cs =================================================================== diff -u -r9b8d6b31f10635712e7e9c75574758fa7d7fe891 -raa30731a0eabb25918a308f15c7d3083e38b0bd8 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Exporters/PipingConfigurationWriter.cs (.../PipingConfigurationWriter.cs) (revision 9b8d6b31f10635712e7e9c75574758fa7d7fe891) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Exporters/PipingConfigurationWriter.cs (.../PipingConfigurationWriter.cs) (revision aa30731a0eabb25918a308f15c7d3083e38b0bd8) @@ -20,9 +20,7 @@ // All rights reserved. using System; -using System.Globalization; using System.Xml; -using Core.Common.Base.Data; using Core.Common.IO.Exceptions; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.Probabilistics; @@ -118,7 +116,7 @@ if (calculationInputParameters.UseAssessmentLevelManualInput) { writer.WriteElementString(PipingConfigurationSchemaIdentifiers.AssessmentLevelElement, - ToStringInvariantCulture(calculationInputParameters.AssessmentLevel)); + XmlConvert.ToString(calculationInputParameters.AssessmentLevel)); } else if (calculationInputParameters.HydraulicBoundaryLocation != null) { @@ -131,9 +129,9 @@ writer.WriteElementString(PipingConfigurationSchemaIdentifiers.SurfaceLineElement, calculationInputParameters.SurfaceLine.Name); writer.WriteElementString(PipingConfigurationSchemaIdentifiers.EntryPointLElement, - ToStringInvariantCulture(calculationInputParameters.EntryPointL)); + XmlConvert.ToString(calculationInputParameters.EntryPointL)); writer.WriteElementString(PipingConfigurationSchemaIdentifiers.ExitPointLElement, - ToStringInvariantCulture(calculationInputParameters.ExitPointL)); + XmlConvert.ToString(calculationInputParameters.ExitPointL)); } if (calculationInputParameters.StochasticSoilModel != null) @@ -171,16 +169,11 @@ writer.WriteAttributeString(PipingConfigurationSchemaIdentifiers.NameAttribute, elementName); writer.WriteElementString(PipingConfigurationSchemaIdentifiers.MeanElement, - ToStringInvariantCulture(distribution.Mean)); + XmlConvert.ToString(distribution.Mean)); writer.WriteElementString(PipingConfigurationSchemaIdentifiers.StandardDeviationElement, - ToStringInvariantCulture(distribution.StandardDeviation)); + XmlConvert.ToString(distribution.StandardDeviation)); writer.WriteEndElement(); } - - private static string ToStringInvariantCulture(RoundedDouble roundedDouble) - { - return XmlConvert.ToString(roundedDouble); - } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Exporters/PipingConfigurationWriterTest.cs =================================================================== diff -u -r27a3de13b3b94459fc79664d521de3790dd6b0df -raa30731a0eabb25918a308f15c7d3083e38b0bd8 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Exporters/PipingConfigurationWriterTest.cs (.../PipingConfigurationWriterTest.cs) (revision 27a3de13b3b94459fc79664d521de3790dd6b0df) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Exporters/PipingConfigurationWriterTest.cs (.../PipingConfigurationWriterTest.cs) (revision aa30731a0eabb25918a308f15c7d3083e38b0bd8) @@ -46,26 +46,24 @@ yield return new TestCaseData("calculationWithoutHydraulicLocation", PipingTestDataGenerator.GetPipingCalculationWithoutHydraulicLocationAndAssessmentLevel()) .SetName("calculationWithoutHydraulicLocation"); - yield return new TestCaseData("calculationWithAssessmentLevel", PipingTestDataGenerator.GetPipingCalculationWithAssessmentLevel()) .SetName("calculationWithAssessmentLevel"); - yield return new TestCaseData("calculationWithoutSurfaceLine", PipingTestDataGenerator.GetPipingCalculationWithoutSurfaceLine()) .SetName("calculationWithoutSurfaceLine"); - yield return new TestCaseData("calculationWithoutSoilModel", PipingTestDataGenerator.GetPipingCalculationWithoutSoilModel()) .SetName("calculationWithoutSoilModel"); - yield return new TestCaseData("calculationWithoutSoilProfile", PipingTestDataGenerator.GetPipingCalculationWithoutSoilProfile()) .SetName("calculationWithoutSoilProfile"); - yield return new TestCaseData("calculationWithNaNs", PipingTestDataGenerator.GetPipingCalculationWithNaNs()) .SetName("calculationWithNaNs"); + yield return new TestCaseData("calculationWithInfinities", + PipingTestDataGenerator.GetPipingCalculationWithInfinities()) + .SetName("calculationWithInfinities"); } } Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/PipingConfigurationWriter/calculationWithInfinities.xml =================================================================== diff -u --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/PipingConfigurationWriter/calculationWithInfinities.xml (revision 0) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/PipingConfigurationWriter/calculationWithInfinities.xml (revision aa30731a0eabb25918a308f15c7d3083e38b0bd8) @@ -0,0 +1,21 @@ + + + + -INF + PK001_0001 + -INF + INF + PK001_0001_Piping + W1-6_0_1D1 + + + -INF + INF + + + INF + INF + + + + \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils.Test/PipingTestDataGeneratorTest.cs =================================================================== diff -u -r6805397285fef921a9c5e239a564549e660a1c6b -raa30731a0eabb25918a308f15c7d3083e38b0bd8 --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils.Test/PipingTestDataGeneratorTest.cs (.../PipingTestDataGeneratorTest.cs) (revision 6805397285fef921a9c5e239a564549e660a1c6b) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils.Test/PipingTestDataGeneratorTest.cs (.../PipingTestDataGeneratorTest.cs) (revision aa30731a0eabb25918a308f15c7d3083e38b0bd8) @@ -147,6 +147,26 @@ Assert.AreEqual(double.NaN, calculation.InputParameters.DampingFactorExit.StandardDeviation.Value); } + [Test] + public void GetPipingCalculationWithInfinities_Always_ReturnCalculationWithInfinities() + { + // Call + PipingCalculation calculation = PipingTestDataGenerator.GetPipingCalculationWithInfinities(); + + // Assert + Assert.AreEqual("PK001_0001 W1-6_0_1D1", calculation.Name); + Assert.AreEqual(double.NegativeInfinity, calculation.InputParameters.AssessmentLevel.Value); + Assert.AreEqual("PK001_0001", calculation.InputParameters.SurfaceLine.Name); + Assert.AreEqual(double.NegativeInfinity, calculation.InputParameters.EntryPointL.Value); + Assert.AreEqual(double.PositiveInfinity, calculation.InputParameters.ExitPointL.Value); + Assert.AreEqual("PK001_0001_Piping", calculation.InputParameters.StochasticSoilModel.Name); + Assert.AreEqual("W1-6_0_1D1", calculation.InputParameters.StochasticSoilProfile.SoilProfile.Name); + Assert.AreEqual(double.NegativeInfinity, calculation.InputParameters.PhreaticLevelExit.Mean.Value); + Assert.AreEqual(double.PositiveInfinity, calculation.InputParameters.PhreaticLevelExit.StandardDeviation.Value); + Assert.AreEqual(double.PositiveInfinity, calculation.InputParameters.DampingFactorExit.Mean.Value); + Assert.AreEqual(double.PositiveInfinity, calculation.InputParameters.DampingFactorExit.StandardDeviation.Value); + } + private static void AssertCalculation(PipingCalculation calculation, bool hasHydraulicLocation = true, bool hasAssessmentLevel = false, Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils/PipingTestDataGenerator.cs =================================================================== diff -u -r81020313d965645986c0c89675374b16ae968f6b -raa30731a0eabb25918a308f15c7d3083e38b0bd8 --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils/PipingTestDataGenerator.cs (.../PipingTestDataGenerator.cs) (revision 81020313d965645986c0c89675374b16ae968f6b) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils/PipingTestDataGenerator.cs (.../PipingTestDataGenerator.cs) (revision aa30731a0eabb25918a308f15c7d3083e38b0bd8) @@ -184,6 +184,37 @@ } /// + /// Gets a with double.NegativeInfinity and double.PositiveInfinity values set. + /// + /// A with double.NegativeInfinity and double.PositiveInfinity values. + public static PipingCalculation GetPipingCalculationWithInfinities() + { + PipingCalculation calculation = GetPipingCalculationWithAssessmentLevel(); + + calculation.InputParameters.SurfaceLine.SetGeometry(new[] + { + new Point3D(0, double.NegativeInfinity, 0), + new Point3D(0, double.PositiveInfinity, 0) + }); + + calculation.InputParameters.AssessmentLevel = (RoundedDouble) double.NegativeInfinity; + calculation.InputParameters.EntryPointL = (RoundedDouble) double.NegativeInfinity; + calculation.InputParameters.ExitPointL = (RoundedDouble) double.PositiveInfinity; + calculation.InputParameters.PhreaticLevelExit = new NormalDistribution + { + Mean = (RoundedDouble) double.NegativeInfinity, + StandardDeviation = (RoundedDouble) double.PositiveInfinity + }; + calculation.InputParameters.DampingFactorExit = new LogNormalDistribution + { + Mean = (RoundedDouble) double.PositiveInfinity, + StandardDeviation = (RoundedDouble) double.PositiveInfinity + }; + + return calculation; + } + + /// /// Configures a to a fully configured failure /// mechanism with all possible parent and nested calculation configurations. ///