Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs
===================================================================
diff -u -r681fe6f5c04ea2acdb99801dd749a11a174d5b42 -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision 681fe6f5c04ea2acdb99801dd749a11a174d5b42)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -46,7 +46,7 @@
/// The path of the XML file to export to.
/// Thrown when is null.
/// Thrown when is invalid.
- public ClosingStructuresCalculationConfigurationExporter(IEnumerable calculations, string filePath)
+ public ClosingStructuresCalculationConfigurationExporter(IEnumerable calculations, string filePath)
: base(calculations, filePath) {}
protected override ClosingStructuresCalculationConfiguration ToConfiguration(StructuresCalculation calculation)
@@ -57,6 +57,11 @@
HydraulicBoundaryLocationName = input.HydraulicBoundaryLocation?.Name
};
+ if (input.ShouldIllustrationPointsBeCalculated)
+ {
+ calculationConfiguration.ShouldIllustrationPointsBeCalculated = input.ShouldIllustrationPointsBeCalculated;
+ }
+
if (input.Structure != null)
{
calculationConfiguration.StructureId = input.Structure.Id;
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs
===================================================================
diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs (.../ClosingStructuresCalculationConfigurationImporter.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs (.../ClosingStructuresCalculationConfigurationImporter.cs) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -114,6 +114,8 @@
Name = readCalculation.Name
};
+ SetShouldIllustrationPointsBeCalculated(readCalculation, calculation);
+
if (TrySetStructure(readCalculation.StructureId, calculation)
&& TrySetHydraulicBoundaryLocation(readCalculation.HydraulicBoundaryLocationName, calculation)
&& TrySetForeshoreProfile(readCalculation.ForeshoreProfileId, calculation)
@@ -469,5 +471,14 @@
return false;
}
+
+ private static void SetShouldIllustrationPointsBeCalculated(ClosingStructuresCalculationConfiguration calculationConfiguration,
+ StructuresCalculation calculation)
+ {
+ if (calculationConfiguration.ShouldIllustrationPointsBeCalculated.HasValue)
+ {
+ calculation.InputParameters.ShouldIllustrationPointsBeCalculated = calculationConfiguration.ShouldIllustrationPointsBeCalculated.Value;
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationReader.cs
===================================================================
diff -u -rb1fd20384e0835b604bb68d94e16e8ead46ed93e -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationReader.cs (.../ClosingStructuresCalculationConfigurationReader.cs) (revision b1fd20384e0835b604bb68d94e16e8ead46ed93e)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationReader.cs (.../ClosingStructuresCalculationConfigurationReader.cs) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -120,7 +120,8 @@
WidthFlowApertures = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.WidthFlowAperturesStochastName),
CriticalOvertoppingDischarge = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.CriticalOvertoppingDischargeStochastName),
StorageStructureArea = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.StorageStructureAreaStochastName),
- StormDuration = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.StormDurationStochastName)
+ StormDuration = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.StormDurationStochastName),
+ ShouldIllustrationPointsBeCalculated = calculationElement.GetBoolValueFromDescendantElement(ConfigurationSchemaIdentifiers.ShouldIllustrationPointsBeCalculatedElement)
};
return configuration;
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Resources/KunstwerkenBetrouwbaarheidSluitenSchema.xsd
===================================================================
diff -u -rf88343c0590cb04c7135ce141872940e59325927 -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Resources/KunstwerkenBetrouwbaarheidSluitenSchema.xsd (.../KunstwerkenBetrouwbaarheidSluitenSchema.xsd) (revision f88343c0590cb04c7135ce141872940e59325927)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Resources/KunstwerkenBetrouwbaarheidSluitenSchema.xsd (.../KunstwerkenBetrouwbaarheidSluitenSchema.xsd) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -46,6 +46,7 @@
+
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs
===================================================================
diff -u -re507c88f2863ff7bc93505caf71c5f8025fb48c0 -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs (.../ClosingStructuresCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs (.../ClosingStructuresCalculationConfigurationExporterTest.cs) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -137,6 +137,7 @@
InflowModelType = ClosingStructureInflowModelType.LowSill,
UseBreakWater = true,
UseForeshore = true,
+ ShouldIllustrationPointsBeCalculated = true,
BreakWater =
{
Type = BreakWaterType.Dam,
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationImporterTest.cs
===================================================================
diff -u -r022a409926423d8107a307e28e3a13a8f2a83188 -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationImporterTest.cs (.../ClosingStructuresCalculationConfigurationImporterTest.cs) (revision 022a409926423d8107a307e28e3a13a8f2a83188)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationImporterTest.cs (.../ClosingStructuresCalculationConfigurationImporterTest.cs) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -405,6 +405,7 @@
ProbabilityOrFrequencyOpenStructureBeforeFlooding = 0.03,
FailureProbabilityOpenStructure = 0.22,
FailureProbabilityReparation = 0.0006,
+ ShouldIllustrationPointsBeCalculated = true,
UseBreakWater = true,
UseForeshore = true,
BreakWater =
@@ -671,37 +672,6 @@
AssertCalculation(expectedCalculation, (StructuresCalculation) calculationGroup.Children[0]);
}
- [TestCase("validConfigurationUnknownForeshoreProfile.xml",
- "Het voorlandprofiel met ID 'unknown' bestaat niet.")]
- [TestCase("validConfigurationUnknownHydraulicBoundaryLocation.xml",
- "De locatie met hydraulische randvoorwaarden 'unknown' bestaat niet.")]
- [TestCase("validConfigurationUnknownStructure.xml",
- "Het kunstwerk met ID 'unknown' bestaat niet.")]
- public void Import_ValidConfigurationUnknownData_LogMessageAndContinueImport(string file, string expectedErrorMessage)
- {
- // Setup
- string filePath = Path.Combine(importerPath, file);
-
- var calculationGroup = new CalculationGroup();
-
- var importer = new ClosingStructuresCalculationConfigurationImporter(filePath,
- calculationGroup,
- Enumerable.Empty(),
- Enumerable.Empty(),
- Enumerable.Empty(),
- new ClosingStructuresFailureMechanism());
- var successful = false;
-
- // Call
- Action call = () => successful = importer.Import();
-
- // Assert
- string expectedMessage = $"{expectedErrorMessage} Berekening 'Berekening 1' is overgeslagen.";
- TestHelper.AssertLogMessageWithLevelIsGenerated(call, Tuple.Create(expectedMessage, LogLevelConstant.Error), 1);
- Assert.IsTrue(successful);
- CollectionAssert.IsEmpty(calculationGroup.Children);
- }
-
[Test]
public void DoPostImport_CalculationWithStructureInSection_AssignsCalculationToSectionResult()
{
@@ -746,6 +716,37 @@
Assert.AreSame(calculation, failureMechanism.SectionResults.ElementAt(0).Calculation);
}
+ [TestCase("validConfigurationUnknownForeshoreProfile.xml",
+ "Het voorlandprofiel met ID 'unknown' bestaat niet.")]
+ [TestCase("validConfigurationUnknownHydraulicBoundaryLocation.xml",
+ "De locatie met hydraulische randvoorwaarden 'unknown' bestaat niet.")]
+ [TestCase("validConfigurationUnknownStructure.xml",
+ "Het kunstwerk met ID 'unknown' bestaat niet.")]
+ public void Import_ValidConfigurationUnknownData_LogMessageAndContinueImport(string file, string expectedErrorMessage)
+ {
+ // Setup
+ string filePath = Path.Combine(importerPath, file);
+
+ var calculationGroup = new CalculationGroup();
+
+ var importer = new ClosingStructuresCalculationConfigurationImporter(filePath,
+ calculationGroup,
+ Enumerable.Empty(),
+ Enumerable.Empty(),
+ Enumerable.Empty(),
+ new ClosingStructuresFailureMechanism());
+ var successful = false;
+
+ // Call
+ Action call = () => successful = importer.Import();
+
+ // Assert
+ string expectedMessage = $"{expectedErrorMessage} Berekening 'Berekening 1' is overgeslagen.";
+ TestHelper.AssertLogMessageWithLevelIsGenerated(call, Tuple.Create(expectedMessage, LogLevelConstant.Error), 1);
+ Assert.IsTrue(successful);
+ CollectionAssert.IsEmpty(calculationGroup.Children);
+ }
+
private static void AssertCalculation(StructuresCalculation expectedCalculation, StructuresCalculation actualCalculation)
{
Assert.AreEqual(expectedCalculation.Name, actualCalculation.Name);
@@ -758,6 +759,7 @@
Assert.AreEqual(expectedCalculation.InputParameters.InflowModelType, actualCalculation.InputParameters.InflowModelType);
Assert.AreEqual(expectedCalculation.InputParameters.ProbabilityOrFrequencyOpenStructureBeforeFlooding, actualCalculation.InputParameters.ProbabilityOrFrequencyOpenStructureBeforeFlooding);
Assert.AreSame(expectedCalculation.InputParameters.ForeshoreProfile, actualCalculation.InputParameters.ForeshoreProfile);
+ Assert.AreEqual(expectedCalculation.InputParameters.ShouldIllustrationPointsBeCalculated, actualCalculation.InputParameters.ShouldIllustrationPointsBeCalculated);
Assert.AreSame(expectedCalculation.InputParameters.Structure, actualCalculation.InputParameters.Structure);
Assert.AreEqual(expectedCalculation.InputParameters.UseForeshore, actualCalculation.InputParameters.UseForeshore);
Assert.AreEqual(expectedCalculation.InputParameters.UseBreakWater, actualCalculation.InputParameters.UseBreakWater);
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationReaderTest.cs
===================================================================
diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationReaderTest.cs (.../ClosingStructuresCalculationConfigurationReaderTest.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationReaderTest.cs (.../ClosingStructuresCalculationConfigurationReaderTest.cs) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -256,6 +256,13 @@
yield return new TestCaseData("invalidMultipleUseForeshore.xml",
"Element 'voorlandgebruiken' cannot appear more than once if content model type is \"all\".")
.SetName("invalidMultipleUseForeshores");
+
+ yield return new TestCaseData("invalidShouldIllustrationPointsBeCalculatedEmpty.xml",
+ "The 'illustratiepunteninlezen' element is invalid - The value '' is invalid according to its datatype 'Boolean'")
+ .SetName("invalidShouldIllustrationPointsBeCalculatedEmpty");
+ yield return new TestCaseData("invalidShouldIllustrationPointsBeCalculatedNoBoolean.xml",
+ "The 'illustratiepunteninlezen' element is invalid - The value 'string' is invalid according to its datatype 'Boolean'")
+ .SetName("invalidShouldIllustrationPointsBeCalculatedNoBoolean");
}
}
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs
===================================================================
diff -u -r3a60f4df420a7669a047880a924bf4a0ff67c265 -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs (.../ClosingStructuresCalculationConfigurationWriterTest.cs) (revision 3a60f4df420a7669a047880a924bf4a0ff67c265)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs (.../ClosingStructuresCalculationConfigurationWriterTest.cs) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -142,6 +142,7 @@
FailureProbabilityOpenStructure = 1e-3,
FailureProbabilityReparation = 1e-2,
InflowModelType = ConfigurationClosingStructureInflowModelType.LowSill,
+ ShouldIllustrationPointsBeCalculated = true,
WaveReduction = new WaveReductionConfiguration
{
UseBreakWater = true,
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/completeConfiguration.xml
===================================================================
diff -u -r727e2faf5e0db1b34e1506d1e5efaf8434bbf6ca -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/completeConfiguration.xml (.../completeConfiguration.xml) (revision 727e2faf5e0db1b34e1506d1e5efaf8434bbf6ca)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/completeConfiguration.xml (.../completeConfiguration.xml) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -65,5 +65,6 @@
0.2
+ true
\ No newline at end of file
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml
===================================================================
diff -u -r727e2faf5e0db1b34e1506d1e5efaf8434bbf6ca -ref881721312166028ed88eaa21dfd1ee8a5cbba4
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision 727e2faf5e0db1b34e1506d1e5efaf8434bbf6ca)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision ef881721312166028ed88eaa21dfd1ee8a5cbba4)
@@ -66,6 +66,7 @@
0.2
+ true