Index: Riskeer/Piping/src/Riskeer.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs
===================================================================
diff -u -rcfbb499d8f6eecdb1790f25c4c0fd875ba5ae73f -rd91099c97e27b752aa87e8760d09eda085059949
--- Riskeer/Piping/src/Riskeer.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision cfbb499d8f6eecdb1790f25c4c0fd875ba5ae73f)
+++ Riskeer/Piping/src/Riskeer.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision d91099c97e27b752aa87e8760d09eda085059949)
@@ -67,6 +67,8 @@
/// The writer to use for writing.
/// The calculation configuration to write.
/// Thrown when the is closed.
+ /// Thrown when
+ /// has a valid, but unsupported .
private static void WriteCalculationElements(XmlWriter writer, PipingCalculationConfiguration configuration)
{
WriteCalculationTypeElements(writer, configuration);
@@ -98,11 +100,20 @@
/// The writer to use for writing.
/// The calculation configuration to write.
/// Thrown when the is closed.
+ /// Thrown when
+ /// has a valid, but unsupported .
private static void WriteCalculationTypeElements(XmlWriter writer, PipingCalculationConfiguration configuration)
{
- if (configuration.CalculationType == PipingCalculationConfigurationType.SemiProbabilistic)
+ switch (configuration.CalculationType)
{
- WriteSemiProbabilisticCalculationElements(writer, configuration);
+ case PipingCalculationConfigurationType.SemiProbabilistic:
+ WriteSemiProbabilisticCalculationElements(writer, configuration);
+ break;
+ case PipingCalculationConfigurationType.Probabilistic:
+ WriteProbabilisticCalculationElements(writer, configuration);
+ break;
+ default:
+ throw new NotSupportedException();
}
}
@@ -127,6 +138,30 @@
}
///
+ /// Writes the probabilistic elements of the in XML format to file.
+ ///
+ /// The writer to use for writing.
+ /// The calculation configuration to write.
+ /// Thrown when the is closed.
+ private static void WriteProbabilisticCalculationElements(XmlWriter writer, PipingCalculationConfiguration configuration)
+ {
+ writer.WriteStartElement(PipingCalculationConfigurationSchemaIdentifiers.Probabilistic);
+
+ WriteElementWhenContentAvailable(writer,
+ ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement,
+ configuration.HydraulicBoundaryLocationName);
+
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.ShouldProfileSpecificIllustrationPointsBeCalculated,
+ configuration.ShouldProfileSpecificIllustrationPointsBeCalculated);
+ WriteElementWhenContentAvailable(writer,
+ PipingCalculationConfigurationSchemaIdentifiers.ShouldSectionSpecificIllustrationPointsBeCalculated,
+ configuration.ShouldSectionSpecificIllustrationPointsBeCalculated);
+
+ writer.WriteEndElement();
+ }
+
+ ///
/// Writes the stochasts elements of the in XML format to file.
///
/// The writer to use for writing.
Index: Riskeer/Piping/test/Riskeer.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs
===================================================================
diff -u -r86c3749da5879489a30004027e1ac6782cec97e8 -rd91099c97e27b752aa87e8760d09eda085059949
--- Riskeer/Piping/test/Riskeer.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision 86c3749da5879489a30004027e1ac6782cec97e8)
+++ Riskeer/Piping/test/Riskeer.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision d91099c97e27b752aa87e8760d09eda085059949)
@@ -45,10 +45,12 @@
var calculationGroup = new CalculationGroupConfiguration("PK001_0001", new IConfigurationItem[]
{
- CreateFullCalculationConfiguration(),
+ CreateFullSemiProbabilisticCalculationConfiguration(),
+ CreateFullProbabilisticCalculationConfiguration(),
new CalculationGroupConfiguration("PK001_0002", new[]
{
- CreateSparseCalculationConfiguration()
+ CreateSparseCalculationConfiguration(PipingCalculationConfigurationType.SemiProbabilistic),
+ CreateSparseCalculationConfiguration(PipingCalculationConfigurationType.Probabilistic)
})
});
@@ -76,7 +78,7 @@
}
}
- private static PipingCalculationConfiguration CreateFullCalculationConfiguration()
+ private static PipingCalculationConfiguration CreateFullSemiProbabilisticCalculationConfiguration()
{
return new PipingCalculationConfiguration("PK001_0001 W1-6_0_1D1", PipingCalculationConfigurationType.SemiProbabilistic)
{
@@ -101,15 +103,48 @@
{
IsRelevant = true,
Contribution = 0.3
- }
+ },
+ ShouldProfileSpecificIllustrationPointsBeCalculated = true,
+ ShouldSectionSpecificIllustrationPointsBeCalculated = false
};
}
- private static PipingCalculationConfiguration CreateSparseCalculationConfiguration()
+ private static PipingCalculationConfiguration CreateFullProbabilisticCalculationConfiguration()
{
- return new PipingCalculationConfiguration("Sparse", PipingCalculationConfigurationType.SemiProbabilistic);
+ return new PipingCalculationConfiguration("PK001_0001 W1-6_0_1D1 probabilistisch", PipingCalculationConfigurationType.Probabilistic)
+ {
+ AssessmentLevel = 15,
+ HydraulicBoundaryLocationName = "PUNT_KAT_18",
+ SurfaceLineName = "PK001_0001",
+ StochasticSoilModelName = "PK001_0001_Piping",
+ StochasticSoilProfileName = "W1-6_0_1D1",
+ EntryPointL = 0.5,
+ ExitPointL = 0.8,
+ PhreaticLevelExit = new StochastConfiguration
+ {
+ Mean = 0.4,
+ StandardDeviation = 0.2
+ },
+ DampingFactorExit = new StochastConfiguration
+ {
+ Mean = 0.8,
+ StandardDeviation = 0.2
+ },
+ Scenario = new ScenarioConfiguration
+ {
+ IsRelevant = true,
+ Contribution = 0.6
+ },
+ ShouldProfileSpecificIllustrationPointsBeCalculated = true,
+ ShouldSectionSpecificIllustrationPointsBeCalculated = true
+ };
}
+ private static PipingCalculationConfiguration CreateSparseCalculationConfiguration(PipingCalculationConfigurationType calculationType)
+ {
+ return new PipingCalculationConfiguration("Sparse", calculationType);
+ }
+
protected override PipingCalculationConfigurationWriter CreateWriterInstance(string filePath)
{
return new PipingCalculationConfigurationWriter(filePath);
Index: Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml
===================================================================
diff -u -rcfbb499d8f6eecdb1790f25c4c0fd875ba5ae73f -rd91099c97e27b752aa87e8760d09eda085059949
--- Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision cfbb499d8f6eecdb1790f25c4c0fd875ba5ae73f)
+++ Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision d91099c97e27b752aa87e8760d09eda085059949)
@@ -26,11 +26,41 @@
0.3
+
+
+ PUNT_KAT_18
+ true
+ true
+
+ PK001_0001
+ 0.5
+ 0.8
+ PK001_0001_Piping
+ W1-6_0_1D1
+
+
+ 0.4
+ 0.2
+
+
+ 0.8
+ 0.2
+
+
+
+ true
+ 0.6
+
+
\ No newline at end of file