Index: Riskeer/Piping/test/Riskeer.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs
===================================================================
diff -u -raaebeb45369f63c6eab19941e385faf409c23088 -r03cd6ce69fe32fa074e7baef0c17532ae029b2f4
--- Riskeer/Piping/test/Riskeer.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs (.../PipingCalculationConfigurationReaderTest.cs) (revision aaebeb45369f63c6eab19941e385faf409c23088)
+++ Riskeer/Piping/test/Riskeer.Piping.IO.Test/Configurations/PipingCalculationConfigurationReaderTest.cs (.../PipingCalculationConfigurationReaderTest.cs) (revision 03cd6ce69fe32fa074e7baef0c17532ae029b2f4)
@@ -207,7 +207,6 @@
// Assert
var configuration = (PipingCalculationConfiguration) readConfigurationItems.Single();
- Assert.IsNaN(configuration.AssessmentLevel);
Assert.IsNaN(configuration.EntryPointL);
Assert.IsNaN(configuration.ExitPointL);
Assert.IsNaN(configuration.PhreaticLevelExit.Mean);
@@ -239,7 +238,6 @@
// Assert
var configuration = (PipingCalculationConfiguration) readConfigurationItems.Single();
- Assert.IsNotNull(configuration.AssessmentLevel);
Assert.IsNotNull(configuration.EntryPointL);
Assert.IsNotNull(configuration.ExitPointL);
Assert.IsNotNull(configuration.PhreaticLevelExit.Mean);
@@ -248,7 +246,6 @@
Assert.IsNotNull(configuration.DampingFactorExit.StandardDeviation);
Assert.IsNotNull(configuration.Scenario.Contribution);
- Assert.IsTrue(double.IsNegativeInfinity(configuration.AssessmentLevel.Value));
Assert.IsTrue(double.IsNegativeInfinity(configuration.EntryPointL.Value));
Assert.IsTrue(double.IsPositiveInfinity(configuration.ExitPointL.Value));
Assert.IsTrue(double.IsNegativeInfinity(configuration.PhreaticLevelExit.Mean.Value));
@@ -552,7 +549,7 @@
private void SetCalculationType(string readFilePath, string writeFilePath)
{
string text = File.ReadAllText(readFilePath);
- text = text.Replace("", $"{CalculationType}");
+ text = text.Replace("", $"<{CalculationType}/>");
File.WriteAllText(writeFilePath, text);
}
}
@@ -608,6 +605,40 @@
AssertConfiguration(configuration, hydraulicBoundaryLocation);
}
+ [Test]
+ public void Read_ValidConfigurationWithSemiProbabilisticCalculationContainingInfinities_ReturnExpectedReadPipingCalculation()
+ {
+ // Setup
+ string filePath = Path.Combine(testDirectoryPath, "validConfigurationSemiProbabilisticCalculationContainingInfinities.xml");
+
+ var reader = new PipingCalculationConfigurationReader(filePath);
+
+ // Call
+ IEnumerable readConfigurationItems = reader.Read().ToArray();
+
+ // Assert
+ var configuration = (PipingCalculationConfiguration) readConfigurationItems.Single();
+
+ Assert.IsNotNull(configuration.AssessmentLevel);
+ Assert.IsTrue(double.IsNegativeInfinity(configuration.AssessmentLevel.Value));
+ }
+
+ [Test]
+ public void Read_ValidConfigurationWithSemiProbabilisticCalculationContainingNaNs_ReturnExpectedReadPipingCalculation()
+ {
+ // Setup
+ string filePath = Path.Combine(testDirectoryPath, "validConfigurationSemiProbabilisticCalculationContainingNaNs.xml");
+ var reader = new PipingCalculationConfigurationReader(filePath);
+
+ // Call
+ IEnumerable readConfigurationItems = reader.Read().ToArray();
+
+ // Assert
+ var configuration = (PipingCalculationConfiguration) readConfigurationItems.Single();
+
+ Assert.IsNaN(configuration.AssessmentLevel);
+ }
+
protected override void AssertConfiguration(PipingCalculationConfiguration configuration, bool hydraulicBoundaryLocation = true)
{
AssertConfigurationGeneralProperties(configuration);
@@ -661,6 +692,21 @@
Assert.IsNull(configuration.AssessmentLevel);
Assert.AreEqual("Locatie", configuration.HydraulicBoundaryLocationName);
}
+
+ [Test]
+ public void Constructor_FileInvalidBasedOnSchemaDefinition_ThrowCriticalFileReadException()
+ {
+ // Setup
+ string filePath = Path.Combine(testDirectoryPath, "invalidProbabilisticContainingWaterLevel.xml");
+
+ // Call
+ void Call() => new PipingCalculationConfigurationReader(filePath);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.IsInstanceOf(exception.InnerException);
+ StringAssert.Contains("Element 'waterstand' cannot appear more than once if content model type is \"all\".", exception.InnerException?.Message);
+ }
}
}
}
\ No newline at end of file
Index: Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationCalculationContainingInfinities.xml
===================================================================
diff -u -raaebeb45369f63c6eab19941e385faf409c23088 -r03cd6ce69fe32fa074e7baef0c17532ae029b2f4
--- Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationCalculationContainingInfinities.xml (.../validConfigurationCalculationContainingInfinities.xml) (revision aaebeb45369f63c6eab19941e385faf409c23088)
+++ Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationCalculationContainingInfinities.xml (.../validConfigurationCalculationContainingInfinities.xml) (revision 03cd6ce69fe32fa074e7baef0c17532ae029b2f4)
@@ -2,7 +2,6 @@
- -INF
-INF
INF
Index: Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationCalculationContainingNaNs.xml
===================================================================
diff -u -raaebeb45369f63c6eab19941e385faf409c23088 -r03cd6ce69fe32fa074e7baef0c17532ae029b2f4
--- Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationCalculationContainingNaNs.xml (.../validConfigurationCalculationContainingNaNs.xml) (revision aaebeb45369f63c6eab19941e385faf409c23088)
+++ Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationCalculationContainingNaNs.xml (.../validConfigurationCalculationContainingNaNs.xml) (revision 03cd6ce69fe32fa074e7baef0c17532ae029b2f4)
@@ -2,7 +2,6 @@
- NaN
NaN
NaN
Index: Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationSemiProbabilisticCalculationContainingInfinities.xml
===================================================================
diff -u
--- Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationSemiProbabilisticCalculationContainingInfinities.xml (revision 0)
+++ Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationSemiProbabilisticCalculationContainingInfinities.xml (revision 03cd6ce69fe32fa074e7baef0c17532ae029b2f4)
@@ -0,0 +1,8 @@
+
+
+
+
+ -INF
+
+
+
\ No newline at end of file
Index: Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationSemiProbabilisticCalculationContainingNaNs.xml
===================================================================
diff -u
--- Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationSemiProbabilisticCalculationContainingNaNs.xml (revision 0)
+++ Riskeer/Piping/test/Riskeer.Piping.IO.Test/test-data/PipingCalculationConfigurationReader/validConfigurationSemiProbabilisticCalculationContainingNaNs.xml (revision 03cd6ce69fe32fa074e7baef0c17532ae029b2f4)
@@ -0,0 +1,8 @@
+
+
+
+
+ NaN
+
+
+
\ No newline at end of file