Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfiguration.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfiguration.cs (.../PipingCalculationConfiguration.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfiguration.cs (.../PipingCalculationConfiguration.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -77,26 +77,16 @@
public string StochasticSoilProfile { get; set; }
///
- /// Gets the mean of the phreatic level exit of the piping calculation.
+ /// Gets the configuration of the phreatic level exit of the piping calculation.
///
- public double? PhreaticLevelExitMean { get; set; }
+ public StochastConfiguration PhreaticLevelExit{ get; set; }
///
- /// Gets the standard deviation of the phreatic level exit of the piping calculation.
+ /// Gets the configuration of the damping factor exit of the piping calculation.
///
- public double? PhreaticLevelExitStandardDeviation { get; set; }
+ public StochastConfiguration DampingFactorExit { get; set; }
///
- /// Gets the mean of the damping factor exit of the piping calculation.
- ///
- public double? DampingFactorExitMean { get; set; }
-
- ///
- /// Gets the standard deviation of the damping factor exit of the piping calculation.
- ///
- public double? DampingFactorExitStandardDeviation { get; set; }
-
- ///
/// Gets or sets the name of the piping calculation.
///
/// Thrown when is null.
@@ -115,71 +105,5 @@
name = value;
}
}
-
- ///
- /// Class holding the various construction parameters for .
- ///
- public class ConstructionProperties
- {
- ///
- /// Gets or sets the value for .
- ///
- public string Name { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public double? AssessmentLevel { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public string HydraulicBoundaryLocation { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public string SurfaceLine { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public double? EntryPointL { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public double? ExitPointL { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public string StochasticSoilModel { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public string StochasticSoilProfile { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public double? PhreaticLevelExitMean { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public double? PhreaticLevelExitStandardDeviation { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public double? DampingFactorExitMean { internal get; set; }
-
- ///
- /// Gets or sets the value for .
- ///
- public double? DampingFactorExitStandardDeviation { internal get; set; }
- }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -23,14 +23,15 @@
using System.Collections.Generic;
using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.IO.Configurations.Export;
+using Ringtoets.Common.IO.Configurations.Helpers;
using Ringtoets.Piping.Data;
namespace Ringtoets.Piping.IO.Configurations
{
///
/// Exports a piping calculation configuration and stores it as an XML file.
///
- public class PipingCalculationConfigurationExporter : CalculationConfigurationExporter
+ public class PipingCalculationConfigurationExporter : SchemaCalculationConfigurationExporter
{
///
/// Creates a new instance of .
@@ -40,5 +41,28 @@
/// Thrown when is null.
/// Thrown when is invalid.
public PipingCalculationConfigurationExporter(IEnumerable configuration, string filePath) : base(configuration, filePath) {}
+
+ protected override PipingCalculationConfigurationWriter CreateWriter(string filePath)
+ {
+ return new PipingCalculationConfigurationWriter(filePath);
+ }
+
+ protected override PipingCalculationConfiguration ToConfiguration(PipingCalculation calculation)
+ {
+ PipingInput input = calculation.InputParameters;
+
+ return new PipingCalculationConfiguration(calculation.Name)
+ {
+ HydraulicBoundaryLocation = input.HydraulicBoundaryLocation?.Name,
+ AssessmentLevel = input.HydraulicBoundaryLocation == null ? input.AssessmentLevel : (double?)null,
+ DampingFactorExit = input.DampingFactorExit.ToStochastConfiguration(),
+ PhreaticLevelExit = input.PhreaticLevelExit.ToStochastConfiguration(),
+ SurfaceLine = input.SurfaceLine?.Name,
+ EntryPointL = input.EntryPointL,
+ ExitPointL = input.ExitPointL,
+ StochasticSoilModel = input.StochasticSoilModel?.Name,
+ StochasticSoilProfile = input.StochasticSoilProfile?.SoilProfile.Name
+ };
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationImporter.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationImporter.cs (.../PipingCalculationConfigurationImporter.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationImporter.cs (.../PipingCalculationConfigurationImporter.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -311,34 +311,26 @@
private bool TryReadDampingFactorExit(PipingCalculationConfiguration calculationConfiguration, PipingCalculationScenario pipingCalculation)
{
- var distribution = (LogNormalDistribution) pipingCalculation.InputParameters.DampingFactorExit.Clone();
-
- if (!distribution.TrySetDistributionProperties(calculationConfiguration.DampingFactorExitMean,
- calculationConfiguration.DampingFactorExitStandardDeviation,
- PipingCalculationConfigurationSchemaIdentifiers.DampingFactorExitStochastName,
- pipingCalculation.Name))
- {
- return false;
- }
-
- pipingCalculation.InputParameters.DampingFactorExit = distribution;
- return true;
+ return ConfigurationImportHelper.TrySetStandardDeviationStochast(
+ PipingCalculationConfigurationSchemaIdentifiers.DampingFactorExitStochastName,
+ pipingCalculation.Name,
+ pipingCalculation.InputParameters,
+ calculationConfiguration.DampingFactorExit,
+ i => i.DampingFactorExit,
+ (i,s) => i.DampingFactorExit = s,
+ Log);
}
private bool TryReadPhreaticLevelExit(PipingCalculationConfiguration calculationConfiguration, PipingCalculationScenario pipingCalculation)
{
- var distribution = (NormalDistribution) pipingCalculation.InputParameters.PhreaticLevelExit.Clone();
-
- if (!distribution.TrySetDistributionProperties(calculationConfiguration.PhreaticLevelExitMean,
- calculationConfiguration.PhreaticLevelExitStandardDeviation,
- PipingCalculationConfigurationSchemaIdentifiers.PhreaticLevelExitStochastName,
- pipingCalculation.Name))
- {
- return false;
- }
-
- pipingCalculation.InputParameters.PhreaticLevelExit = distribution;
- return true;
+ return ConfigurationImportHelper.TrySetStandardDeviationStochast(
+ PipingCalculationConfigurationSchemaIdentifiers.PhreaticLevelExitStochastName,
+ pipingCalculation.Name,
+ pipingCalculation.InputParameters,
+ calculationConfiguration.PhreaticLevelExit,
+ i => i.PhreaticLevelExit,
+ (i, s) => i.PhreaticLevelExit = s,
+ Log);
}
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationReader.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationReader.cs (.../PipingCalculationConfigurationReader.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationReader.cs (.../PipingCalculationConfigurationReader.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -76,23 +76,11 @@
EntryPointL = calculationElement.GetDoubleValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.EntryPointLElement),
ExitPointL = calculationElement.GetDoubleValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.ExitPointLElement),
StochasticSoilModel = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement),
- StochasticSoilProfile = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement)
+ StochasticSoilProfile = calculationElement.GetStringValueFromDescendantElement(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement),
+ PhreaticLevelExit = calculationElement.GetStochastConfiguration(PipingCalculationConfigurationSchemaIdentifiers.PhreaticLevelExitStochastName),
+ DampingFactorExit = calculationElement.GetStochastConfiguration(PipingCalculationConfigurationSchemaIdentifiers.DampingFactorExitStochastName)
};
- XElement phreaticLevelExitElement = calculationElement.GetStochastElement(PipingCalculationConfigurationSchemaIdentifiers.PhreaticLevelExitStochastName);
- if (phreaticLevelExitElement != null)
- {
- calculation.PhreaticLevelExitMean = phreaticLevelExitElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.MeanElement);
- calculation.PhreaticLevelExitStandardDeviation = phreaticLevelExitElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.StandardDeviationElement);
- }
-
- XElement dampingFactorExitElement = calculationElement.GetStochastElement(PipingCalculationConfigurationSchemaIdentifiers.DampingFactorExitStochastName);
- if (dampingFactorExitElement != null)
- {
- calculation.DampingFactorExitMean = dampingFactorExitElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.MeanElement);
- calculation.DampingFactorExitStandardDeviation = dampingFactorExitElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.StandardDeviationElement);
- }
-
return calculation;
}
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -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 System.Xml;
using Ringtoets.Common.Data.Probabilistics;
@@ -31,66 +32,80 @@
///
/// Writer for writing a piping calculation configuration to XML.
///
- public class PipingCalculationConfigurationWriter : CalculationConfigurationWriter
+ public class PipingCalculationConfigurationWriter : SchemaCalculationConfigurationWriter
{
- protected override void WriteCalculation(PipingCalculation calculation, XmlWriter writer)
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The path of the file to write to.
+ /// Thrown when is invalid.
+ /// A valid path:
+ ///
+ /// - is not empty or null,
+ /// - does not consist out of only whitespace characters,
+ /// - does not contain an invalid character,
+ /// - does not end with a directory or path separator (empty file name).
+ ///
+ public PipingCalculationConfigurationWriter(string filePath) : base(filePath) {}
+
+ protected override void WriteCalculation(PipingCalculationConfiguration configuration, XmlWriter writer)
{
writer.WriteStartElement(ConfigurationSchemaIdentifiers.CalculationElement);
- writer.WriteAttributeString(ConfigurationSchemaIdentifiers.NameAttribute, calculation.Name);
+ writer.WriteAttributeString(ConfigurationSchemaIdentifiers.NameAttribute, configuration.Name);
- PipingInput calculationInputParameters = calculation.InputParameters;
-
- if (calculationInputParameters.UseAssessmentLevelManualInput)
+ if (configuration.AssessmentLevel.HasValue)
{
- writer.WriteElementString(PipingCalculationConfigurationSchemaIdentifiers.AssessmentLevelElement,
- XmlConvert.ToString(calculationInputParameters.AssessmentLevel));
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.AssessmentLevelElement,
+ configuration.AssessmentLevel);
}
- else if (calculationInputParameters.HydraulicBoundaryLocation != null)
+ else
{
- writer.WriteElementString(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement,
- calculationInputParameters.HydraulicBoundaryLocation.Name);
+ WriteElementWhenContentAvailable(writer,
+ ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement,
+ configuration.HydraulicBoundaryLocation);
}
- if (calculationInputParameters.SurfaceLine != null)
+ if (configuration.SurfaceLine != null)
{
- writer.WriteElementString(PipingCalculationConfigurationSchemaIdentifiers.SurfaceLineElement,
- calculationInputParameters.SurfaceLine.Name);
- writer.WriteElementString(PipingCalculationConfigurationSchemaIdentifiers.EntryPointLElement,
- XmlConvert.ToString(calculationInputParameters.EntryPointL));
- writer.WriteElementString(PipingCalculationConfigurationSchemaIdentifiers.ExitPointLElement,
- XmlConvert.ToString(calculationInputParameters.ExitPointL));
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.SurfaceLineElement,
+ configuration.SurfaceLine);
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.EntryPointLElement,
+ configuration.EntryPointL);
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.ExitPointLElement,
+ configuration.ExitPointL);
}
- if (calculationInputParameters.StochasticSoilModel != null)
+ if (configuration.StochasticSoilModel != null)
{
- writer.WriteElementString(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement,
- calculationInputParameters.StochasticSoilModel.Name);
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilModelElement,
+ configuration.StochasticSoilModel);
- if (calculationInputParameters.StochasticSoilProfile?.SoilProfile != null)
+ if (configuration.StochasticSoilProfile != null)
{
- writer.WriteElementString(PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement,
- calculationInputParameters.StochasticSoilProfile.SoilProfile.Name);
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.StochasticSoilProfileElement,
+ configuration.StochasticSoilProfile);
}
}
- WriteDistributions(CreateInputDistributions(calculationInputParameters), writer);
+ writer.WriteStartElement(ConfigurationSchemaIdentifiers.StochastsElement);
+ WriteDistributionWhenAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.PhreaticLevelExitStochastName,
+ configuration.PhreaticLevelExit);
+
+ WriteDistributionWhenAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.DampingFactorExitStochastName,
+ configuration.DampingFactorExit);
+
writer.WriteEndElement();
- }
- private static IDictionary CreateInputDistributions(PipingInput calculationInputParameters)
- {
- return new Dictionary
- {
- {
- PipingCalculationConfigurationSchemaIdentifiers.PhreaticLevelExitStochastName,
- calculationInputParameters.PhreaticLevelExit
- },
- {
- PipingCalculationConfigurationSchemaIdentifiers.DampingFactorExitStochastName,
- calculationInputParameters.DampingFactorExit
- }
- };
+ writer.WriteEndElement();
}
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationExporterTest.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationExporterTest.cs (.../PipingCalculationConfigurationExporterTest.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationExporterTest.cs (.../PipingCalculationConfigurationExporterTest.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -19,6 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System.Collections.Generic;
using System.IO;
using Core.Common.Base.Data;
using Core.Common.TestUtil;
@@ -35,10 +36,11 @@
{
[TestFixture]
public class PipingCalculationConfigurationExporterTest
- : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture<
+ : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture<
PipingCalculationConfigurationExporter,
PipingCalculationConfigurationWriter,
- PipingCalculation>
+ PipingCalculation,
+ PipingCalculationConfiguration>
{
[Test]
public void Export_ValidData_ReturnTrueAndWritesFile()
@@ -95,5 +97,10 @@
{
return PipingTestDataGenerator.GetPipingCalculation();
}
+
+ protected override PipingCalculationConfigurationExporter CallConfigurationFilePathConstructor(IEnumerable calculations, string filePath)
+ {
+ return new PipingCalculationConfigurationExporter(calculations, filePath);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs (.../PipingCalculationConfigurationReaderTest.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs (.../PipingCalculationConfigurationReaderTest.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -183,10 +183,8 @@
Assert.IsNull(calculation.ExitPointL);
Assert.IsNull(calculation.StochasticSoilModel);
Assert.IsNull(calculation.StochasticSoilProfile);
- Assert.IsNull(calculation.PhreaticLevelExitMean);
- Assert.IsNull(calculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNull(calculation.DampingFactorExitMean);
- Assert.IsNull(calculation.DampingFactorExitStandardDeviation);
+ Assert.IsNull(calculation.PhreaticLevelExit);
+ Assert.IsNull(calculation.DampingFactorExit);
}
[Test]
@@ -203,10 +201,8 @@
Assert.AreEqual(1, readConfigurationItems.Count);
var calculation = (PipingCalculationConfiguration) readConfigurationItems[0];
- Assert.IsNull(calculation.PhreaticLevelExitMean);
- Assert.IsNull(calculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNull(calculation.DampingFactorExitMean);
- Assert.IsNull(calculation.DampingFactorExitStandardDeviation);
+ Assert.IsNull(calculation.PhreaticLevelExit);
+ Assert.IsNull(calculation.DampingFactorExit);
}
[Test]
@@ -226,10 +222,10 @@
Assert.IsNaN(calculation.AssessmentLevel);
Assert.IsNaN(calculation.EntryPointL);
Assert.IsNaN(calculation.ExitPointL);
- Assert.IsNaN(calculation.PhreaticLevelExitMean);
- Assert.IsNaN(calculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNaN(calculation.DampingFactorExitMean);
- Assert.IsNaN(calculation.DampingFactorExitStandardDeviation);
+ Assert.IsNaN(calculation.PhreaticLevelExit.Mean);
+ Assert.IsNaN(calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.IsNaN(calculation.DampingFactorExit.Mean);
+ Assert.IsNaN(calculation.DampingFactorExit.StandardDeviation);
}
[Test]
@@ -250,18 +246,18 @@
Assert.IsNotNull(calculation.AssessmentLevel);
Assert.IsNotNull(calculation.EntryPointL);
Assert.IsNotNull(calculation.ExitPointL);
- Assert.IsNotNull(calculation.PhreaticLevelExitMean);
- Assert.IsNotNull(calculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNotNull(calculation.DampingFactorExitMean);
- Assert.IsNotNull(calculation.DampingFactorExitStandardDeviation);
+ Assert.IsNotNull(calculation.PhreaticLevelExit.Mean);
+ Assert.IsNotNull(calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.IsNotNull(calculation.DampingFactorExit.Mean);
+ Assert.IsNotNull(calculation.DampingFactorExit.StandardDeviation);
Assert.IsTrue(double.IsNegativeInfinity(calculation.AssessmentLevel.Value));
Assert.IsTrue(double.IsNegativeInfinity(calculation.EntryPointL.Value));
Assert.IsTrue(double.IsPositiveInfinity(calculation.ExitPointL.Value));
- Assert.IsTrue(double.IsNegativeInfinity(calculation.PhreaticLevelExitMean.Value));
- Assert.IsTrue(double.IsPositiveInfinity(calculation.PhreaticLevelExitStandardDeviation.Value));
- Assert.IsTrue(double.IsPositiveInfinity(calculation.DampingFactorExitMean.Value));
- Assert.IsTrue(double.IsPositiveInfinity(calculation.DampingFactorExitStandardDeviation.Value));
+ Assert.IsTrue(double.IsNegativeInfinity(calculation.PhreaticLevelExit.Mean.Value));
+ Assert.IsTrue(double.IsPositiveInfinity(calculation.PhreaticLevelExit.StandardDeviation.Value));
+ Assert.IsTrue(double.IsPositiveInfinity(calculation.DampingFactorExit.Mean.Value));
+ Assert.IsTrue(double.IsPositiveInfinity(calculation.DampingFactorExit.StandardDeviation.Value));
}
[Test]
@@ -290,10 +286,10 @@
Assert.AreEqual(3.3, calculation.ExitPointL);
Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModel);
Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile);
- Assert.AreEqual(4.4, calculation.PhreaticLevelExitMean);
- Assert.AreEqual(5.5, calculation.PhreaticLevelExitStandardDeviation);
- Assert.AreEqual(6.6, calculation.DampingFactorExitMean);
- Assert.AreEqual(7.7, calculation.DampingFactorExitStandardDeviation);
+ Assert.AreEqual(4.4, calculation.PhreaticLevelExit.Mean);
+ Assert.AreEqual(5.5, calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.AreEqual(6.6, calculation.DampingFactorExit.Mean);
+ Assert.AreEqual(7.7, calculation.DampingFactorExit.StandardDeviation);
}
[Test]
@@ -322,10 +318,10 @@
Assert.AreEqual(3.3, calculation.ExitPointL);
Assert.AreEqual("Ondergrondmodel", calculation.StochasticSoilModel);
Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile);
- Assert.AreEqual(4.4, calculation.PhreaticLevelExitMean);
- Assert.AreEqual(5.5, calculation.PhreaticLevelExitStandardDeviation);
- Assert.AreEqual(6.6, calculation.DampingFactorExitMean);
- Assert.AreEqual(7.7, calculation.DampingFactorExitStandardDeviation);
+ Assert.AreEqual(4.4, calculation.PhreaticLevelExit.Mean);
+ Assert.AreEqual(5.5, calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.AreEqual(6.6, calculation.DampingFactorExit.Mean);
+ Assert.AreEqual(7.7, calculation.DampingFactorExit.StandardDeviation);
}
[Test]
@@ -350,10 +346,9 @@
Assert.AreEqual(2.2, calculation.ExitPointL);
Assert.IsNull(calculation.StochasticSoilModel);
Assert.AreEqual("Ondergrondschematisatie", calculation.StochasticSoilProfile);
- Assert.AreEqual(3.3, calculation.PhreaticLevelExitMean);
- Assert.AreEqual(4.4, calculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNull(calculation.DampingFactorExitMean);
- Assert.IsNull(calculation.DampingFactorExitStandardDeviation);
+ Assert.AreEqual(3.3, calculation.PhreaticLevelExit.Mean);
+ Assert.AreEqual(4.4, calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.IsNull(calculation.DampingFactorExit);
}
[Test]
@@ -370,10 +365,10 @@
Assert.AreEqual(1, readConfigurationItems.Count);
var calculation = (PipingCalculationConfiguration) readConfigurationItems[0];
- Assert.IsNull(calculation.PhreaticLevelExitMean);
- Assert.AreEqual(0.1, calculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNull(calculation.DampingFactorExitMean);
- Assert.AreEqual(7.7, calculation.DampingFactorExitStandardDeviation);
+ Assert.IsNull(calculation.PhreaticLevelExit.Mean);
+ Assert.AreEqual(0.1, calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.IsNull(calculation.DampingFactorExit.Mean);
+ Assert.AreEqual(7.7, calculation.DampingFactorExit.StandardDeviation);
}
[Test]
@@ -390,10 +385,10 @@
Assert.AreEqual(1, readConfigurationItems.Count);
var calculation = (PipingCalculationConfiguration) readConfigurationItems[0];
- Assert.AreEqual(0.0, calculation.PhreaticLevelExitMean);
- Assert.IsNull(calculation.PhreaticLevelExitStandardDeviation);
- Assert.AreEqual(6.6, calculation.DampingFactorExitMean);
- Assert.IsNull(calculation.DampingFactorExitStandardDeviation);
+ Assert.AreEqual(0.0, calculation.PhreaticLevelExit.Mean);
+ Assert.IsNull(calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.AreEqual(6.6, calculation.DampingFactorExit.Mean);
+ Assert.IsNull(calculation.DampingFactorExit.StandardDeviation);
}
[Test]
@@ -410,10 +405,10 @@
Assert.AreEqual(1, readConfigurationItems.Count);
var calculation = (PipingCalculationConfiguration) readConfigurationItems[0];
- Assert.IsNull(calculation.PhreaticLevelExitMean);
- Assert.IsNull(calculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNull(calculation.DampingFactorExitMean);
- Assert.IsNull(calculation.DampingFactorExitStandardDeviation);
+ Assert.IsNull(calculation.PhreaticLevelExit.Mean);
+ Assert.IsNull(calculation.PhreaticLevelExit.StandardDeviation);
+ Assert.IsNull(calculation.DampingFactorExit.Mean);
+ Assert.IsNull(calculation.DampingFactorExit.StandardDeviation);
}
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationTest.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationTest.cs (.../PipingCalculationConfigurationTest.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationTest.cs (.../PipingCalculationConfigurationTest.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -43,7 +43,7 @@
public void Constructor_ConstructionPropertiesWithoutValues_PropertiesAreDefault()
{
// Setup
- var name = "some name";
+ const string name = "some name";
// Call
var readPipingCalculation = new PipingCalculationConfiguration(name);
@@ -58,10 +58,8 @@
Assert.IsNull(readPipingCalculation.ExitPointL);
Assert.IsNull(readPipingCalculation.StochasticSoilModel);
Assert.IsNull(readPipingCalculation.StochasticSoilProfile);
- Assert.IsNull(readPipingCalculation.PhreaticLevelExitMean);
- Assert.IsNull(readPipingCalculation.PhreaticLevelExitStandardDeviation);
- Assert.IsNull(readPipingCalculation.DampingFactorExitMean);
- Assert.IsNull(readPipingCalculation.DampingFactorExitStandardDeviation);
+ Assert.IsNull(readPipingCalculation.PhreaticLevelExit);
+ Assert.IsNull(readPipingCalculation.DampingFactorExit);
}
[Test]
@@ -91,10 +89,16 @@
ExitPointL = exitPointL,
StochasticSoilModel = stochasticSoilModel,
StochasticSoilProfile = stochasticSoilProfile,
- PhreaticLevelExitMean = phreaticLevelExitMean,
- PhreaticLevelExitStandardDeviation = phreaticLevelExitStandardDeviation,
- DampingFactorExitMean = dampingFactorExitMean,
- DampingFactorExitStandardDeviation = dampingFactorExitStandardDeviation
+ PhreaticLevelExit = new StochastConfiguration
+ {
+ Mean = phreaticLevelExitMean,
+ StandardDeviation = phreaticLevelExitStandardDeviation,
+ },
+ DampingFactorExit = new StochastConfiguration
+ {
+ Mean = dampingFactorExitMean,
+ StandardDeviation = dampingFactorExitStandardDeviation
+ }
};
// Assert
@@ -106,10 +110,10 @@
Assert.AreEqual(exitPointL, readPipingCalculation.ExitPointL);
Assert.AreEqual(stochasticSoilModel, readPipingCalculation.StochasticSoilModel);
Assert.AreEqual(stochasticSoilProfile, readPipingCalculation.StochasticSoilProfile);
- Assert.AreEqual(phreaticLevelExitMean, readPipingCalculation.PhreaticLevelExitMean);
- Assert.AreEqual(phreaticLevelExitStandardDeviation, readPipingCalculation.PhreaticLevelExitStandardDeviation);
- Assert.AreEqual(dampingFactorExitMean, readPipingCalculation.DampingFactorExitMean);
- Assert.AreEqual(dampingFactorExitStandardDeviation, readPipingCalculation.DampingFactorExitStandardDeviation);
+ Assert.AreEqual(phreaticLevelExitMean, readPipingCalculation.PhreaticLevelExit.Mean);
+ Assert.AreEqual(phreaticLevelExitStandardDeviation, readPipingCalculation.PhreaticLevelExit.StandardDeviation);
+ Assert.AreEqual(dampingFactorExitMean, readPipingCalculation.DampingFactorExit.Mean);
+ Assert.AreEqual(dampingFactorExitStandardDeviation, readPipingCalculation.DampingFactorExit.StandardDeviation);
}
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs
===================================================================
diff -u -r6df044b18d205d87d4f38a623cc6e29146d4e95e -r756064ca162892256021ac1616fe4680b2bba320
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision 6df044b18d205d87d4f38a623cc6e29146d4e95e)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision 756064ca162892256021ac1616fe4680b2bba320)
@@ -21,49 +21,87 @@
using System.Collections.Generic;
using System.IO;
-using Core.Common.Base.Data;
+using Core.Common.Base.Geometry;
using Core.Common.TestUtil;
using NUnit.Framework;
-using Ringtoets.Common.Data.Calculation;
-using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.IO.Configurations;
using Ringtoets.Common.IO.TestUtil;
-using Ringtoets.Piping.Data;
-using Ringtoets.Piping.Integration.TestUtils;
using Ringtoets.Piping.IO.Configurations;
using Ringtoets.Piping.Primitives;
namespace Ringtoets.Piping.IO.Test.Configurations
{
[TestFixture]
public class PipingCalculationConfigurationWriterTest
- : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture<
+ : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture<
PipingCalculationConfigurationWriter,
- PipingCalculation>
+ PipingCalculationConfiguration>
{
private static IEnumerable Calculations
{
get
{
+
+ var calculation = CreateFullCalculationConfiguration();
+ calculation.HydraulicBoundaryLocation = null;
+ calculation.EntryPointL = 0.0;
+ calculation.ExitPointL = 10;
yield return new TestCaseData("calculationWithoutHydraulicLocation",
- PipingTestDataGenerator.GetPipingCalculationWithoutHydraulicLocationAndAssessmentLevel())
+ calculation)
.SetName("calculationWithoutHydraulicLocation");
+
+ calculation = CreateFullCalculationConfiguration();
+ calculation.AssessmentLevel = 3.0;
+ calculation.EntryPointL = 0.0;
+ calculation.ExitPointL = 10;
yield return new TestCaseData("calculationWithAssessmentLevel",
- PipingTestDataGenerator.GetPipingCalculationWithAssessmentLevel())
+ calculation)
.SetName("calculationWithAssessmentLevel");
+
+ calculation = CreateFullCalculationConfiguration();
+ calculation.SurfaceLine = null;
yield return new TestCaseData("calculationWithoutSurfaceLine",
- PipingTestDataGenerator.GetPipingCalculationWithoutSurfaceLine())
+ calculation)
.SetName("calculationWithoutSurfaceLine");
+
+ calculation = CreateFullCalculationConfiguration();
+ calculation.StochasticSoilModel = null;
+ calculation.EntryPointL = 0.0;
+ calculation.ExitPointL = 10;
yield return new TestCaseData("calculationWithoutSoilModel",
- PipingTestDataGenerator.GetPipingCalculationWithoutSoilModel())
+ calculation)
.SetName("calculationWithoutSoilModel");
+
+ calculation = CreateFullCalculationConfiguration();
+ calculation.StochasticSoilProfile = null;
+ calculation.EntryPointL = 0.0;
+ calculation.ExitPointL = 10;
yield return new TestCaseData("calculationWithoutSoilProfile",
- PipingTestDataGenerator.GetPipingCalculationWithoutSoilProfile())
+ calculation)
.SetName("calculationWithoutSoilProfile");
+
+ calculation = CreateFullCalculationConfiguration();
+ calculation.AssessmentLevel = double.NaN;
+ calculation.EntryPointL = double.NaN;
+ calculation.ExitPointL = double.NaN;
+ calculation.PhreaticLevelExit.Mean = double.NaN;
+ calculation.PhreaticLevelExit.StandardDeviation = double.NaN;
+ calculation.DampingFactorExit.Mean = double.NaN;
+ calculation.DampingFactorExit.StandardDeviation = double.NaN;
yield return new TestCaseData("calculationWithNaNs",
- PipingTestDataGenerator.GetPipingCalculationWithNaNs())
+ calculation)
.SetName("calculationWithNaNs");
+
+ calculation = CreateFullCalculationConfiguration();
+ calculation.AssessmentLevel = double.NegativeInfinity;
+ calculation.EntryPointL = double.NegativeInfinity;
+ calculation.ExitPointL = double.PositiveInfinity;
+ calculation.PhreaticLevelExit.Mean = double.NegativeInfinity;
+ calculation.PhreaticLevelExit.StandardDeviation = double.PositiveInfinity;
+ calculation.DampingFactorExit.Mean = double.PositiveInfinity;
+ calculation.DampingFactorExit.StandardDeviation = double.PositiveInfinity;
yield return new TestCaseData("calculationWithInfinities",
- PipingTestDataGenerator.GetPipingCalculationWithInfinities())
+ calculation)
.SetName("calculationWithInfinities");
}
}
@@ -74,49 +112,46 @@
// Setup
string filePath = TestHelper.GetScratchPadPath("test.xml");
- PipingCalculation calculation = PipingTestDataGenerator.GetPipingCalculation();
- calculation.InputParameters.EntryPointL = (RoundedDouble) 0.1;
- calculation.InputParameters.ExitPointL = (RoundedDouble) 0.2;
-
- PipingCalculation calculation2 = PipingTestDataGenerator.GetPipingCalculation();
- calculation2.Name = "PK001_0002 W1-6_4_1D1";
- calculation2.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "PUNT_SCH_17", 0, 0);
- calculation2.InputParameters.SurfaceLine.Name = "PK001_0002";
- calculation2.InputParameters.EntryPointL = (RoundedDouble) 0.3;
- calculation2.InputParameters.ExitPointL = (RoundedDouble) 0.4;
- calculation2.InputParameters.StochasticSoilModel = new StochasticSoilModel(1, "PK001_0002_Piping", string.Empty);
- calculation2.InputParameters.StochasticSoilProfile = new StochasticSoilProfile(0, SoilProfileType.SoilProfile1D, 0)
+ var surfaceline = new RingtoetsPipingSurfaceLine
{
- SoilProfile = new PipingSoilProfile("W1-6_4_1D1", 0, new[]
- {
- new PipingSoilLayer(0)
- }, SoilProfileType.SoilProfile1D, 0)
+ ReferenceLineIntersectionWorldPoint = new Point2D(0, 5),
+ Name = "PK001_0001"
};
+ surfaceline.SetGeometry(new[]
+ {
+ new Point3D(0, 0, 0),
+ new Point3D(0, 10, 0)
+ });
- var calculationGroup2 = new CalculationGroup("PK001_0002", false)
+ var calculation = CreateFullCalculationConfiguration();
+
+ var calculation2 = CreateFullCalculationConfiguration();
+ calculation2.Name = "PK001_0002 W1-6_4_1D1";
+ calculation2.HydraulicBoundaryLocation = "PUNT_SCH_17";
+ calculation2.SurfaceLine = "PK001_0002";
+ calculation2.StochasticSoilModel = "PK001_0002_Piping";
+ calculation2.StochasticSoilProfile = "W1-6_4_1D1";
+ calculation2.EntryPointL = 0.3;
+ calculation2.ExitPointL = 0.4;
+
+ var calculationGroup2 = new CalculationGroupConfiguration("PK001_0002", new IConfigurationItem[]
{
- Children =
- {
- calculation2
- }
- };
+ calculation2
+ });
- var calculationGroup = new CalculationGroup("PK001_0001", false)
+ var calculationGroup = new CalculationGroupConfiguration("PK001_0001", new IConfigurationItem[]
{
- Children =
- {
- calculation,
- calculationGroup2
- }
- };
+ calculation,
+ calculationGroup2
+ });
try
{
// Call
- new PipingCalculationConfigurationWriter().Write(new[]
+ new PipingCalculationConfigurationWriter(filePath).Write(new[]
{
calculationGroup
- }, filePath);
+ });
// Assert
Assert.IsTrue(File.Exists(filePath));
@@ -135,20 +170,43 @@
}
}
+ private static PipingCalculationConfiguration CreateFullCalculationConfiguration()
+ {
+ return new PipingCalculationConfiguration("PK001_0001 W1-6_0_1D1")
+ {
+ HydraulicBoundaryLocation = "PUNT_KAT_18",
+ SurfaceLine = "PK001_0001",
+ StochasticSoilModel = "PK001_0001_Piping",
+ StochasticSoilProfile = "W1-6_0_1D1",
+ EntryPointL = 0.1,
+ ExitPointL = 0.2,
+ PhreaticLevelExit = new StochastConfiguration
+ {
+ Mean = 0,
+ StandardDeviation = 0.1
+ },
+ DampingFactorExit = new StochastConfiguration
+ {
+ Mean = 0.7,
+ StandardDeviation = 0.1
+ }
+ };
+ }
+
[Test]
[TestCaseSource(nameof(Calculations))]
- public void Write_ValidCalculation_ValidFile(string expectedFileName, PipingCalculation calculation)
+ public void Write_ValidCalculation_ValidFile(string expectedFileName, PipingCalculationConfiguration calculation)
{
// Setup
string filePath = TestHelper.GetScratchPadPath("test.xml");
try
{
// Call
- new PipingCalculationConfigurationWriter().Write(new[]
+ new PipingCalculationConfigurationWriter(filePath).Write(new[]
{
calculation
- }, filePath);
+ });
// Assert
Assert.IsTrue(File.Exists(filePath));
@@ -164,5 +222,10 @@
File.Delete(filePath);
}
}
+
+ protected override PipingCalculationConfigurationWriter CreateWriterInstance(string filePath)
+ {
+ return new PipingCalculationConfigurationWriter(filePath);
+ }
}
}
\ No newline at end of file