Index: Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs =================================================================== diff -u -rdd20c539bb48fde32e3a0fe7fbee58260f37a73c -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision dd20c539bb48fde32e3a0fe7fbee58260f37a73c) +++ Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -36,7 +36,7 @@ public class ClosingStructuresCalculationConfigurationExporter : CalculationConfigurationExporter< ClosingStructuresCalculationConfigurationWriter, - StructuresCalculation, + StructuresCalculationScenario, ClosingStructuresCalculationConfiguration> { /// @@ -49,7 +49,7 @@ public ClosingStructuresCalculationConfigurationExporter(IEnumerable calculations, string filePath) : base(calculations, new ClosingStructuresCalculationConfigurationWriter(filePath)) {} - protected override ClosingStructuresCalculationConfiguration ToConfiguration(StructuresCalculation calculation) + protected override ClosingStructuresCalculationConfiguration ToConfiguration(StructuresCalculationScenario calculation) { ClosingStructuresInput input = calculation.InputParameters; var calculationConfiguration = new ClosingStructuresCalculationConfiguration(calculation.Name) @@ -60,7 +60,8 @@ FactorStormDurationOpenStructure = input.FactorStormDurationOpenStructure, StormDuration = input.StormDuration.ToStochastConfigurationWithMean(), DrainCoefficient = input.DrainCoefficient.ToStochastConfigurationWithMean(), - ModelFactorSuperCriticalFlow = input.ModelFactorSuperCriticalFlow.ToStochastConfigurationWithMean() + ModelFactorSuperCriticalFlow = input.ModelFactorSuperCriticalFlow.ToStochastConfigurationWithMean(), + Scenario = calculation.ToScenarioConfiguration() }; calculationConfiguration.SetConfigurationForeshoreProfileDependentProperties(input); Index: Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs =================================================================== diff -u -rd3b94aacb873473ebe92d56b4e48341bf4b26412 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs (.../ClosingStructuresCalculationConfigurationImporter.cs) (revision d3b94aacb873473ebe92d56b4e48341bf4b26412) +++ Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationImporter.cs (.../ClosingStructuresCalculationConfigurationImporter.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -110,7 +110,8 @@ && TrySetInflowModelType(readCalculation, calculation) && TrySetIdenticalApertures(readCalculation, calculation) && readCalculation.WaveReduction.ValidateWaveReduction(calculation.InputParameters.ForeshoreProfile, - calculation.Name, Log)) + calculation.Name, Log) + && TrySetScenarioParameters(readCalculation.Scenario, calculation)) { SetFactorStormDurationOpenStructure(readCalculation, calculation); SetWaveReductionParameters(readCalculation.WaveReduction, calculation.InputParameters); Index: Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationReader.cs =================================================================== diff -u -rf5cd3b2ee9b7436f606ee6bc027b795accf0549d -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationReader.cs (.../ClosingStructuresCalculationConfigurationReader.cs) (revision f5cd3b2ee9b7436f606ee6bc027b795accf0549d) +++ Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationReader.cs (.../ClosingStructuresCalculationConfigurationReader.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -46,6 +46,7 @@ private const string stochastStandaardafwijkingSchemaName = "StochastStandaardafwijkingSchema.xsd"; private const string stochastVariatiecoefficientSchemaName = "StochastVariatiecoefficientSchema.xsd"; private const string structureBaseSchemaName = "KunstwerkenBasisSchema.xsd"; + private const string scenarioSchemaName = "ScenariosSchema.xsd"; /// /// Creates a new instance of . @@ -88,6 +89,9 @@ }, { structureBaseSchemaName, RiskeerCommonIOResources.KunstwerkenBasisSchema + }, + { + scenarioSchemaName, RiskeerCommonIOResources.ScenarioSchema } }) {} @@ -121,7 +125,8 @@ CriticalOvertoppingDischarge = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.CriticalOvertoppingDischargeStochastName), StorageStructureArea = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.StorageStructureAreaStochastName), StormDuration = calculationElement.GetStochastConfiguration(ConfigurationSchemaIdentifiers.StormDurationStochastName), - ShouldIllustrationPointsBeCalculated = calculationElement.GetBoolValueFromDescendantElement(ConfigurationSchemaIdentifiers.ShouldIllustrationPointsBeCalculatedElement) + ShouldIllustrationPointsBeCalculated = calculationElement.GetBoolValueFromDescendantElement(ConfigurationSchemaIdentifiers.ShouldIllustrationPointsBeCalculatedElement), + Scenario = calculationElement.GetScenarioConfiguration() }; return configuration; Index: Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Resources/KunstwerkenBetrouwbaarheidSluitenSchema.xsd =================================================================== diff -u -rf5cd3b2ee9b7436f606ee6bc027b795accf0549d -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Resources/KunstwerkenBetrouwbaarheidSluitenSchema.xsd (.../KunstwerkenBetrouwbaarheidSluitenSchema.xsd) (revision f5cd3b2ee9b7436f606ee6bc027b795accf0549d) +++ Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.IO/Resources/KunstwerkenBetrouwbaarheidSluitenSchema.xsd (.../KunstwerkenBetrouwbaarheidSluitenSchema.xsd) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -26,6 +26,9 @@ + + + @@ -47,6 +50,7 @@ + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs =================================================================== diff -u -re3e3433c92e142f37d6a5ed931a70ad582c240bc -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs (.../ClosingStructuresCalculationConfigurationExporterTest.cs) (revision e3e3433c92e142f37d6a5ed931a70ad582c240bc) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs (.../ClosingStructuresCalculationConfigurationExporterTest.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -41,7 +41,7 @@ : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< ClosingStructuresCalculationConfigurationExporter, ClosingStructuresCalculationConfigurationWriter, - StructuresCalculation, + StructuresCalculationScenario, ClosingStructuresCalculationConfiguration> { private static IEnumerable Calculations @@ -113,13 +113,13 @@ private static ICalculation CreateSparseCalculation() { - return new StructuresCalculation + return new StructuresCalculationScenario { Name = "sparse config" }; } - private static StructuresCalculation CreateFullCalculation() + private static StructuresCalculationScenario CreateFullCalculation() { return new TestClosingStructuresCalculationScenario { @@ -209,9 +209,9 @@ }; } - private static StructuresCalculation CreateCalculationWithForeshoreProfile() + private static StructuresCalculationScenario CreateCalculationWithForeshoreProfile() { - return new StructuresCalculation + return new StructuresCalculationScenario { Name = "with foreshore profile", InputParameters = @@ -222,9 +222,9 @@ }; } - private static StructuresCalculation CreateCalculationWithUseBreakWater() + private static StructuresCalculationScenario CreateCalculationWithUseBreakWater() { - return new StructuresCalculation + return new StructuresCalculationScenario { Name = "with use breakwater", InputParameters = @@ -241,9 +241,9 @@ }; } - private static StructuresCalculation CreateCalculationWithStructure() + private static StructuresCalculationScenario CreateCalculationWithStructure() { - return new StructuresCalculation + return new StructuresCalculationScenario { Name = "with structure", InputParameters = @@ -253,7 +253,7 @@ }; } - protected override StructuresCalculation CreateCalculation() + protected override StructuresCalculationScenario CreateCalculation() { return new TestClosingStructuresCalculationScenario(); } Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationImporterTest.cs =================================================================== diff -u -r1a080d1011da380e86370793a7f2ed532a6a0b42 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationImporterTest.cs (.../ClosingStructuresCalculationConfigurationImporterTest.cs) (revision 1a080d1011da380e86370793a7f2ed532a6a0b42) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationImporterTest.cs (.../ClosingStructuresCalculationConfigurationImporterTest.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -640,12 +640,103 @@ AssertCalculation(expectedCalculation, (StructuresCalculationScenario) calculationGroup.Children[0]); } + [Test] + public void Import_ScenarioEmpty_LogMessageAndContinueImport() + { + // Setup + string filePath = Path.Combine(importerPath, "validConfigurationCalculationContainingEmptyScenario.xml"); + + var calculationGroup = new CalculationGroup(); + + var importer = new ClosingStructuresCalculationConfigurationImporter(filePath, + calculationGroup, + Enumerable.Empty(), + Enumerable.Empty(), + Enumerable.Empty()); + + var successful = false; + + // Call + void Call() => successful = importer.Import(); + + // Assert + const string expectedMessage = "In een berekening moet voor het scenario tenminste de relevantie of contributie worden opgegeven. " + + "Berekening 'Calculation' is overgeslagen."; + TestHelper.AssertLogMessageIsGenerated(Call, expectedMessage, 2); + Assert.IsTrue(successful); + CollectionAssert.IsEmpty(calculationGroup.Children); + } + + [Test] + public void Import_ScenarioWithContributionSet_DataAddedToModel() + { + // Setup + string filePath = Path.Combine(importerPath, "validConfigurationScenarioContributionOnly.xml"); + + var calculationGroup = new CalculationGroup(); + + var importer = new ClosingStructuresCalculationConfigurationImporter(filePath, + calculationGroup, + Enumerable.Empty(), + Enumerable.Empty(), + Enumerable.Empty()); + + // Call + var successful = false; + Action call = () => successful = importer.Import(); + + // Assert + TestHelper.AssertLogMessageIsGenerated(call, $"Gegevens zijn geïmporteerd vanuit bestand '{filePath}'.", 1); + Assert.IsTrue(successful); + + var expectedCalculation = new StructuresCalculationScenario + { + Name = "Calculation", + Contribution = (RoundedDouble) 0.8765 + }; + + Assert.AreEqual(1, calculationGroup.Children.Count); + AssertCalculation(expectedCalculation, (StructuresCalculationScenario) calculationGroup.Children[0]); + } + + [Test] + public void Import_ScenarioWithRevelantSet_DataAddedToModel() + { + // Setup + string filePath = Path.Combine(importerPath, "validConfigurationScenarioRevelantOnly.xml"); + + var calculationGroup = new CalculationGroup(); + + var importer = new ClosingStructuresCalculationConfigurationImporter(filePath, + calculationGroup, + Enumerable.Empty(), + Enumerable.Empty(), + Enumerable.Empty()); + + // Call + var successful = false; + Action call = () => successful = importer.Import(); + + // Assert + TestHelper.AssertLogMessageIsGenerated(call, $"Gegevens zijn geïmporteerd vanuit bestand '{filePath}'.", 1); + Assert.IsTrue(successful); + + var expectedCalculation = new StructuresCalculationScenario + { + Name = "Calculation", + IsRelevant = false + }; + + Assert.AreEqual(1, calculationGroup.Children.Count); + AssertCalculation(expectedCalculation, (StructuresCalculationScenario) calculationGroup.Children[0]); + } + [TestCase("validConfigurationUnknownForeshoreProfile.xml", - "Het voorlandprofiel met ID 'unknown' bestaat niet.")] + "Het voorlandprofiel met ID 'unknown' bestaat niet.")] [TestCase("validConfigurationUnknownHydraulicBoundaryLocation.xml", - "De hydraulische belastingenlocatie 'unknown' bestaat niet.")] + "De hydraulische belastingenlocatie 'unknown' bestaat niet.")] [TestCase("validConfigurationUnknownStructure.xml", - "Het kunstwerk met ID 'unknown' bestaat niet.")] + "Het kunstwerk met ID 'unknown' bestaat niet.")] public void Import_ValidConfigurationUnknownData_LogMessageAndContinueImport(string file, string expectedErrorMessage) { // Setup Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationReaderTest.cs =================================================================== diff -u -rd28e27005c5da2025e65e0544e70f89e5c08b67e -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationReaderTest.cs (.../ClosingStructuresCalculationConfigurationReaderTest.cs) (revision d28e27005c5da2025e65e0544e70f89e5c08b67e) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationReaderTest.cs (.../ClosingStructuresCalculationConfigurationReaderTest.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -272,6 +272,28 @@ yield return new TestCaseData("invalidShouldIllustrationPointsBeCalculatedNoBoolean.xml", "The 'illustratiepunteninlezen' element is invalid - The value 'string' is invalid according to its datatype 'Boolean'") .SetName("invalidShouldIllustrationPointsBeCalculatedNoBoolean"); + + yield return new TestCaseData("invalidCalculationMultipleScenario.xml", + "Element 'scenario' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleScenario"); + yield return new TestCaseData("invalidScenarioMultipleContribution.xml", + "Element 'bijdrage' cannot appear more than once if content model type is \"all\".") + .SetName("invalidScenarioMultipleContribution"); + yield return new TestCaseData("invalidScenarioContributionEmpty.xml", + "The 'bijdrage' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidScenarioContributionEmpty"); + yield return new TestCaseData("invalidScenarioContributionNoDouble.xml", + "The 'bijdrage' element is invalid - The value 'string' is invalid according to its datatype 'Double'") + .SetName("invalidScenarioContributionNoDouble"); + yield return new TestCaseData("invalidScenarioMultipleRelevant.xml", + "Element 'gebruik' cannot appear more than once if content model type is \"all\".") + .SetName("invalidScenarioMultipleRelevant"); + yield return new TestCaseData("invalidScenarioRelevantEmpty.xml", + "The 'gebruik' element is invalid - The value '' is invalid according to its datatype 'Boolean'") + .SetName("invalidScenarioRelevantEmpty"); + yield return new TestCaseData("invalidScenarioRelevantNoBoolean.xml", + "The 'gebruik' element is invalid - The value 'string' is invalid according to its datatype 'Boolean'") + .SetName("invalidScenarioRelevantNoBoolean"); } } @@ -296,10 +318,10 @@ string filePath = Path.Combine(testDirectoryPath, fileName); // Call - TestDelegate call = () => new ClosingStructuresCalculationConfigurationReader(filePath); + void Call() => new ClosingStructuresCalculationConfigurationReader(filePath); // Assert - var exception = Assert.Throws(call); + var exception = Assert.Throws(Call); Assert.IsInstanceOf(exception.InnerException); StringAssert.Contains(expectedParsingMessage, exception.InnerException?.Message); } @@ -333,8 +355,8 @@ Assert.IsNull(calculation.StorageStructureArea); Assert.IsNull(calculation.StormDuration); Assert.IsNull(calculation.WidthFlowApertures); - Assert.IsNull(calculation.WaveReduction); + Assert.IsNull(calculation.Scenario); } [Test] @@ -396,6 +418,8 @@ Assert.AreEqual(1.234, calculation.WaveReduction.BreakWaterHeight); Assert.IsTrue(calculation.WaveReduction.UseBreakWater); Assert.IsTrue(calculation.WaveReduction.UseForeshoreProfile); + Assert.IsTrue(calculation.Scenario.IsRelevant); + Assert.AreEqual(8.8, calculation.Scenario.Contribution); } [Test] @@ -451,6 +475,7 @@ Assert.IsTrue(double.IsNegativeInfinity(calculation.WaveReduction.BreakWaterHeight.Value)); Assert.IsNull(calculation.WaveReduction.UseBreakWater); Assert.IsNull(calculation.WaveReduction.UseForeshoreProfile); + Assert.IsTrue(double.IsPositiveInfinity(calculation.Scenario.Contribution.Value)); } [Test] @@ -506,6 +531,7 @@ Assert.IsNaN(calculation.WaveReduction.BreakWaterHeight); Assert.IsNull(calculation.WaveReduction.UseBreakWater); Assert.IsNull(calculation.WaveReduction.UseForeshoreProfile); + Assert.IsNaN(calculation.Scenario.Contribution); } [Test] @@ -558,6 +584,8 @@ Assert.IsNull(calculation.WaveReduction.BreakWaterHeight); Assert.IsTrue(calculation.WaveReduction.UseBreakWater); Assert.IsTrue(calculation.WaveReduction.UseForeshoreProfile); + Assert.IsTrue(calculation.Scenario.IsRelevant); + Assert.AreEqual(8.8, calculation.Scenario.Contribution); } [Test] @@ -611,8 +639,8 @@ Assert.IsNull(calculation.StormDuration.VariationCoefficient); Assert.IsNull(calculation.WidthFlowApertures.Mean); Assert.IsNull(calculation.WidthFlowApertures.StandardDeviation); - Assert.IsNull(calculation.WaveReduction); + Assert.IsNull(calculation.Scenario); } } } \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs =================================================================== diff -u -rd28e27005c5da2025e65e0544e70f89e5c08b67e -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs (.../ClosingStructuresCalculationConfigurationWriterTest.cs) (revision d28e27005c5da2025e65e0544e70f89e5c08b67e) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs (.../ClosingStructuresCalculationConfigurationWriterTest.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -112,13 +112,14 @@ var writer = new ClosingStructuresCalculationConfigurationWriter("valid"); // Call - TestDelegate call = () => writer.Write(new[] - { - configuration - }); + void Call() => + writer.Write(new[] + { + configuration + }); // Assert - var exception = Assert.Throws(call); + var exception = Assert.Throws(Call); Assert.IsInstanceOf(exception.InnerException); } @@ -209,6 +210,11 @@ { Mean = 4.3, StandardDeviation = 0.2 + }, + Scenario = new ScenarioConfiguration() + { + IsRelevant = true, + Contribution = 0.3 } }; } Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/completeConfiguration.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/completeConfiguration.xml (.../completeConfiguration.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/completeConfiguration.xml (.../completeConfiguration.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -66,5 +66,9 @@ true + + true + 100 + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithForeshoreProfile.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithForeshoreProfile.xml (.../configurationWithForeshoreProfile.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithForeshoreProfile.xml (.../configurationWithForeshoreProfile.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -22,5 +22,9 @@ false + + true + 100 + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithStructure.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithStructure.xml (.../configurationWithStructure.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithStructure.xml (.../configurationWithStructure.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -58,5 +58,9 @@ false + + true + 100 + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithUseBreakWater.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithUseBreakWater.xml (.../configurationWithUseBreakWater.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/configurationWithUseBreakWater.xml (.../configurationWithUseBreakWater.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -22,5 +22,9 @@ false + + true + 100 + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -67,6 +67,10 @@ true + + true + 100 + @@ -84,6 +88,10 @@ false + + true + 100 + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/sparseConfiguration.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/sparseConfiguration.xml (.../sparseConfiguration.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationExporter/sparseConfiguration.xml (.../sparseConfiguration.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -15,5 +15,9 @@ false + + true + 100 + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationCalculationContainingEmptyScenario.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationCalculationContainingEmptyScenario.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationCalculationContainingEmptyScenario.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationScenarioContributionOnly.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationScenarioContributionOnly.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationScenarioContributionOnly.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,8 @@ + + + + + 87.654321 + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationScenarioRevelantOnly.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationScenarioRevelantOnly.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationImporter/validConfigurationScenarioRevelantOnly.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,8 @@ + + + + + false + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleScenario.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleScenario.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleScenario.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,13 @@ + + + + + 1.1 + true + + + 2.2 + false + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioContributionEmpty.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioContributionEmpty.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioContributionEmpty.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioContributionNoDouble.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioContributionNoDouble.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioContributionNoDouble.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,8 @@ + + + + + string + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioMultipleContribution.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioMultipleContribution.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioMultipleContribution.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,9 @@ + + + + + 1.1 + 8.8 + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioMultipleRelevant.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioMultipleRelevant.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioMultipleRelevant.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,9 @@ + + + + + true + false + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioRelevantEmpty.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioRelevantEmpty.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioRelevantEmpty.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioRelevantNoBoolean.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioRelevantNoBoolean.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidScenarioRelevantNoBoolean.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,8 @@ + + + + + string + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyScenario.xml =================================================================== diff -u --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyScenario.xml (revision 0) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyScenario.xml (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml (.../validFullConfigurationContainingInfinity.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml (.../validFullConfigurationContainingInfinity.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -60,5 +60,9 @@ -INF + + true + INF + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml (.../validFullConfigurationContainingNaN.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml (.../validFullConfigurationContainingNaN.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -60,5 +60,9 @@ NaN + + true + NaN + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationNew.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationNew.xml (.../validFullConfigurationNew.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationNew.xml (.../validFullConfigurationNew.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -68,5 +68,9 @@ 0.2 + + true + 8.8 + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationOld.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationOld.xml (.../validFullConfigurationOld.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationOld.xml (.../validFullConfigurationOld.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -68,5 +68,9 @@ 0.2 + + true + 8.8 + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder_new.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder_new.xml (.../validFullConfiguration_differentOrder_new.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder_new.xml (.../validFullConfiguration_differentOrder_new.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -51,6 +51,10 @@ 0.01 + + true + 8.8 + true 1.234 Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder_old.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder_old.xml (.../validFullConfiguration_differentOrder_old.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder_old.xml (.../validFullConfiguration_differentOrder_old.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -51,6 +51,10 @@ 0.01 + + true + 8.8 + true 1.234 Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfigurationNew.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfigurationNew.xml (.../validPartialConfigurationNew.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfigurationNew.xml (.../validPartialConfigurationNew.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -22,5 +22,9 @@ 0.1 + + true + 8.8 + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfigurationOld.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfigurationOld.xml (.../validPartialConfigurationOld.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfigurationOld.xml (.../validPartialConfigurationOld.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -22,5 +22,9 @@ 0.1 + + true + 8.8 + Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationWriter/completeConfiguration.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationWriter/completeConfiguration.xml (.../completeConfiguration.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationWriter/completeConfiguration.xml (.../completeConfiguration.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -69,5 +69,9 @@ true + + true + 0.3 + \ No newline at end of file Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml =================================================================== diff -u -rbf1fde9d2147a6eeaecebbb371be2c4856759159 -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision bf1fde9d2147a6eeaecebbb371be2c4856759159) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -70,6 +70,10 @@ true + + true + 0.3 + Index: Riskeer/Common/src/Riskeer.Common.IO/Configurations/Export/StructureCalculationConfigurationWriter.cs =================================================================== diff -u -r247659d91db1609d27f3d565203f62bd5b70abcc -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/Common/src/Riskeer.Common.IO/Configurations/Export/StructureCalculationConfigurationWriter.cs (.../StructureCalculationConfigurationWriter.cs) (revision 247659d91db1609d27f3d565203f62bd5b70abcc) +++ Riskeer/Common/src/Riskeer.Common.IO/Configurations/Export/StructureCalculationConfigurationWriter.cs (.../StructureCalculationConfigurationWriter.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -63,6 +63,8 @@ XmlConvert.ToString(configuration.ShouldIllustrationPointsBeCalculated.Value)); } + WriteScenarioWhenAvailable(writer, configuration.Scenario); + writer.WriteEndElement(); } Index: Riskeer/Common/src/Riskeer.Common.IO/Configurations/StructuresCalculationConfiguration.cs =================================================================== diff -u -r247659d91db1609d27f3d565203f62bd5b70abcc -r84523cbdf7a083f411e6b67174cea1c792d6b270 --- Riskeer/Common/src/Riskeer.Common.IO/Configurations/StructuresCalculationConfiguration.cs (.../StructuresCalculationConfiguration.cs) (revision 247659d91db1609d27f3d565203f62bd5b70abcc) +++ Riskeer/Common/src/Riskeer.Common.IO/Configurations/StructuresCalculationConfiguration.cs (.../StructuresCalculationConfiguration.cs) (revision 84523cbdf7a083f411e6b67174cea1c792d6b270) @@ -106,6 +106,11 @@ public bool? ShouldIllustrationPointsBeCalculated { get; set; } /// + /// Gets or sets the scenario. + /// + public ScenarioConfiguration Scenario { get; set; } + + /// /// Gets or sets the name of the calculation. /// /// Thrown when is null.