Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/ClosingStructuresCalculationConfigurationReader.cs =================================================================== diff -u --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/ClosingStructuresCalculationConfigurationReader.cs (revision 0) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/ClosingStructuresCalculationConfigurationReader.cs (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,177 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using System.Xml.Linq; +using Core.Common.Base.IO; +using Ringtoets.Common.IO.Configurations; +using Ringtoets.Common.IO.Configurations.Helpers; +using Ringtoets.Common.IO.Readers; +using Ringtoets.Common.IO.Schema; +using Ringtoets.ClosingStructures.IO.Properties; +using RingtoetsCommonIOResources = Ringtoets.Common.IO.Properties.Resources; + +namespace Ringtoets.ClosingStructures.IO +{ + /// + /// Reader for reading a height structure calculation configuration from XML and creating a collection + /// of corresponding . + /// + public class ClosingStructuresCalculationConfigurationReader : CalculationConfigurationReader + { + private const string hrLocatieSchemaName = "HrLocatieSchema.xsd"; + private const string orientatieSchemaName = "OrientatieSchema.xsd"; + private const string golfReductieSchemaName = "GolfReductieSchema.xsd"; + private const string voorlandProfielSchemaName = "VoorlandProfielSchema.xsd"; + private const string stochastSchemaName = "StochastSchema.xsd"; + private const string stochastStandaardafwijkingSchemaName = "StochastStandaardafwijkingSchema.xsd"; + private const string stochastVariatiecoefficientSchemaName = "StochastVariatiecoefficientSchema.xsd"; + private const string structureBaseSchemaName = "KunstwerkenBasisSchema.xsd"; + + /// + /// Creates a new instance of . + /// + /// The file path to the XML file. + /// Thrown when is invalid. + /// Thrown when: + /// + /// points to a file that does not exist. + /// points to a file that does not contain valid XML. + /// points to a file that does not pass the schema validation. + /// points to a file that does not contain configuration elements. + /// + /// + public ClosingStructuresCalculationConfigurationReader(string filePath) + : base(filePath, + Resources.KunstwerkenBetrouwbaarheidSluitenSchema, + new Dictionary + { + { + hrLocatieSchemaName, RingtoetsCommonIOResources.HrLocatieSchema + }, + { + orientatieSchemaName, RingtoetsCommonIOResources.OrientatieSchema + }, + { + voorlandProfielSchemaName, RingtoetsCommonIOResources.VoorlandProfielSchema + }, + { + golfReductieSchemaName, RingtoetsCommonIOResources.GolfReductieSchema + }, + { + stochastSchemaName, RingtoetsCommonIOResources.StochastSchema + }, + { + stochastStandaardafwijkingSchemaName, RingtoetsCommonIOResources.StochastStandaardafwijkingSchema + }, + { + stochastVariatiecoefficientSchemaName, RingtoetsCommonIOResources.StochastVariatiecoefficientSchema + }, + { + structureBaseSchemaName, RingtoetsCommonIOResources.KunstwerkenBasisSchema + } + }) {} + + protected override ClosingStructuresCalculationConfiguration ParseCalculationElement(XElement calculationElement) + { + var configuration = new ClosingStructuresCalculationConfiguration(calculationElement.Attribute(ConfigurationSchemaIdentifiers.NameAttribute).Value); + configuration.FailureProbabilityStructureWithErosion = calculationElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.FailureProbabilityStructureWithErosionElement); + configuration.StructureNormalOrientation = calculationElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.Orientation); + + configuration.InflowModelType = (ConfigurationClosingStructureInflowModelType?) + calculationElement.GetConvertedValueFromDescendantStringElement( + ClosingStructuresConfigurationSchemaIdentifiers.InflowModelType); + configuration.FactorStormDurationOpenStructure = calculationElement.GetDoubleValueFromDescendantElement(ClosingStructuresConfigurationSchemaIdentifiers.FactorStormDurationOpenStructure); + configuration.FailureProbabilityOpenStructure = calculationElement.GetDoubleValueFromDescendantElement(ClosingStructuresConfigurationSchemaIdentifiers.FailureProbabilityOpenStructure); + configuration.FailureProbabilityReparation = calculationElement.GetDoubleValueFromDescendantElement(ClosingStructuresConfigurationSchemaIdentifiers.FailureProbabilityReparation); + configuration.ProbabilityOrFrequencyOpenStructureBeforeFlooding = calculationElement.GetDoubleValueFromDescendantElement(ClosingStructuresConfigurationSchemaIdentifiers.ProbabilityOrFrequencyOpenStructureBeforeFlooding); + configuration.IdenticalApertures = calculationElement.GetIntegerValueFromDescendantElement(ClosingStructuresConfigurationSchemaIdentifiers.IdenticalApertures); + + configuration.ForeshoreProfileName = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.ForeshoreProfileNameElement); + configuration.HydraulicBoundaryLocationName = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement); + configuration.StructureName = calculationElement.GetStringValueFromDescendantElement(ConfigurationSchemaIdentifiers.StructureElement); + + configuration.WaveReduction = GetWaveReductionParameters(calculationElement); + + configuration.AreaFlowApertures = GetStandardDeviationStochastParameters(calculationElement, ClosingStructuresConfigurationSchemaIdentifiers.AreaFlowAperturesStochastName); + configuration.DrainCoefficient = GetStandardDeviationStochastParameters(calculationElement, ClosingStructuresConfigurationSchemaIdentifiers.DrainCoefficientStochastName); + configuration.InsideWaterLevel = GetStandardDeviationStochastParameters(calculationElement, ClosingStructuresConfigurationSchemaIdentifiers.InsideWaterLevelStochastName); + configuration.LevelCrestStructureNotClosing = GetStandardDeviationStochastParameters(calculationElement, ClosingStructuresConfigurationSchemaIdentifiers.LevelCrestStructureNotClosingStochastName); + configuration.ThresholdHeightOpenWeir = GetStandardDeviationStochastParameters(calculationElement, ClosingStructuresConfigurationSchemaIdentifiers.ThresholdHeightOpenWeirStochastName); + + configuration.AllowedLevelIncreaseStorage = GetStandardDeviationStochastParameters(calculationElement, ConfigurationSchemaIdentifiers.AllowedLevelIncreaseStorageStochastName); + configuration.FlowWidthAtBottomProtection = GetStandardDeviationStochastParameters(calculationElement, ConfigurationSchemaIdentifiers.FlowWidthAtBottomProtectionStochastName); + configuration.ModelFactorSuperCriticalFlow = GetStandardDeviationStochastParameters(calculationElement, ConfigurationSchemaIdentifiers.ModelFactorSuperCriticalFlowStochastName); + configuration.WidthFlowApertures = GetStandardDeviationStochastParameters(calculationElement, ConfigurationSchemaIdentifiers.WidthFlowAperturesStochastName); + + configuration.CriticalOvertoppingDischarge = GetVariationCoefficientStochastParameters(calculationElement, ConfigurationSchemaIdentifiers.CriticalOvertoppingDischargeStochastName); + configuration.StorageStructureArea = GetVariationCoefficientStochastParameters(calculationElement, ConfigurationSchemaIdentifiers.StorageStructureAreaStochastName); + configuration.StormDuration = GetVariationCoefficientStochastParameters(calculationElement, ConfigurationSchemaIdentifiers.StormDurationStochastName); + + return configuration; + } + + private static WaveReductionConfiguration GetWaveReductionParameters(XElement calculationElement) + { + XElement waveReduction = calculationElement.GetDescendantElement(ConfigurationSchemaIdentifiers.WaveReduction); + if (waveReduction != null) + { + return new WaveReductionConfiguration + { + BreakWaterType = (ConfigurationBreakWaterType?) calculationElement.GetConvertedValueFromDescendantStringElement(ConfigurationSchemaIdentifiers.BreakWaterType), + BreakWaterHeight = calculationElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.BreakWaterHeight), + UseBreakWater = calculationElement.GetBoolValueFromDescendantElement(ConfigurationSchemaIdentifiers.UseBreakWater), + UseForeshoreProfile = calculationElement.GetBoolValueFromDescendantElement(ConfigurationSchemaIdentifiers.UseForeshore) + }; + } + return null; + } + + private static MeanVariationCoefficientStochastConfiguration GetVariationCoefficientStochastParameters(XElement calculationElement, string stochastName) + { + XElement element = calculationElement.GetStochastElement(stochastName); + if (element != null) + { + return new MeanVariationCoefficientStochastConfiguration + { + Mean = element.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.MeanElement), + VariationCoefficient = element.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.VariationCoefficientElement) + }; + } + return null; + } + + private static MeanStandardDeviationStochastConfiguration GetStandardDeviationStochastParameters(XElement calculationElement, string stochastName) + { + XElement element = calculationElement.GetStochastElement(stochastName); + if (element != null) + { + return new MeanStandardDeviationStochastConfiguration + { + Mean = element.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.MeanElement), + StandardDeviation = element.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.StandardDeviationElement) + }; + } + return null; + } + } +} \ No newline at end of file Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Ringtoets.ClosingStructures.IO.csproj =================================================================== diff -u -r9d677016ec66d0ec3cfce9e9b47ac89998f9f620 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Ringtoets.ClosingStructures.IO.csproj (.../Ringtoets.ClosingStructures.IO.csproj) (revision 9d677016ec66d0ec3cfce9e9b47ac89998f9f620) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Ringtoets.ClosingStructures.IO.csproj (.../Ringtoets.ClosingStructures.IO.csproj) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -39,6 +39,7 @@ + @@ -51,6 +52,7 @@ + True Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresCalculationConfigurationReaderTest.cs =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresCalculationConfigurationReaderTest.cs (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresCalculationConfigurationReaderTest.cs (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,633 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; +using Core.Common.TestUtil; +using NUnit.Framework; +using Ringtoets.Common.IO.Readers; +using System.IO; +using System.Linq; +using System.Xml.Schema; +using Core.Common.Base.IO; +using Ringtoets.Common.IO.Configurations; + +namespace Ringtoets.ClosingStructures.IO.Test +{ + [TestFixture] + public class ClosingStructuresCalculationConfigurationReaderTest + { + private readonly string testDirectoryPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.ClosingStructures.IO, + nameof(ClosingStructuresCalculationConfigurationReader)); + + private static IEnumerable InvalidConfigurations + { + get + { + yield return new TestCaseData("invalidCalculationFailureProbabilityStructureWithErosionEmpty.xml", + "The 'faalkansgegevenerosiebodem' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityStructureWithErosionEmpty"); + yield return new TestCaseData("invalidCalculationFailureProbabilityStructureWithErosionNoDouble.xml", + "The 'faalkansgegevenerosiebodem' element is invalid - The value 'nul' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityStructureWithErosionNoDouble"); + yield return new TestCaseData("invalidCalculationFailureProbabilityStructureWithErosionWrongCulture.xml", + "The 'faalkansgegevenerosiebodem' element is invalid - The value '0,5' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityStructureWithErosionWrongCulture"); + + yield return new TestCaseData("invalidCalculationForeshoreProfileEmpty.xml", + "The 'voorlandprofiel' element is invalid - The value '' is invalid according to its datatype 'String'") + .SetName("invalidCalculationForeshoreProfileEmpty"); + + yield return new TestCaseData("invalidCalculationHydraulicBoundaryLocationEmpty.xml", + "The 'hrlocatie' element is invalid - The value '' is invalid according to its datatype 'String'") + .SetName("invalidCalculationHydraulicBoundaryLocationEmpty"); + + yield return new TestCaseData("invalidCalculationMultipleFailureProbabilityStructureWithErosion.xml", + "Element 'faalkansgegevenerosiebodem' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleFailureProbabilityStructureWithErosion"); + yield return new TestCaseData("invalidCalculationMultipleForeshoreProfile.xml", + "Element 'voorlandprofiel' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleForeshoreProfile"); + yield return new TestCaseData("invalidCalculationMultipleHydraulicBoundaryLocation.xml", + "Element 'hrlocatie' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleHydraulicBoundaryLocation"); + yield return new TestCaseData("invalidCalculationMultipleOrientation.xml", + "Element 'orientatie' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleOrientation"); + yield return new TestCaseData("invalidCalculationMultipleStructure.xml", + "Element 'kunstwerk' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleStructure"); + + yield return new TestCaseData("invalidCalculationMultipleFactorStormDurationOpenStructure.xml", + "Element 'factorstormduur' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleFactorStormDurationOpenStructure"); + yield return new TestCaseData("invalidCalculationMultipleFailureProbabilityOpenStructure.xml", + "Element 'kansmislukkensluiting' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleFailureProbabilityOpenStructure"); + yield return new TestCaseData("invalidCalculationMultipleFailureProbabilityReparation.xml", + "Element 'faalkansherstel' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleFailureProbabilityReparation"); + yield return new TestCaseData("invalidCalculationMultipleIdenticalApertures.xml", + "Element 'nrdoorstroomopeningen' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleIdenticalApertures"); + yield return new TestCaseData("invalidCalculationMultipleInflowModelTypes.xml", + "Element 'instroommodel' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleInflowModelTypes"); + yield return new TestCaseData("invalidCalculationMultipleProbabilityOrFrequencyOpenStructureBeforeFlooding.xml", + "Element 'kansopopenstaan' cannot appear more than once if content model type is \"all\".") + .SetName("invalidCalculationMultipleProbabilityOrFrequencyOpenStructureBeforeFlooding"); + + yield return new TestCaseData("invalidCalculationOrientationEmpty.xml", + "The 'orientatie' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationOrientationEmpty"); + yield return new TestCaseData("invalidCalculationOrientationNoDouble.xml", + "The 'orientatie' element is invalid - The value 'nul' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationOrientationNoDouble"); + yield return new TestCaseData("invalidCalculationOrientationWrongCulture.xml", + "The 'orientatie' element is invalid - The value '0,5' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationOrientationWrongCulture"); + + yield return new TestCaseData("invalidCalculationStructureEmpty.xml", + "The 'kunstwerk' element is invalid - The value '' is invalid according to its datatype 'String'") + .SetName("invalidCalculationStructureEmpty"); + + yield return new TestCaseData("invalidCalculationFactorStormDurationOpenStructureEmpty.xml", + "The 'factorstormduur' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFactorStormDurationOpenStructureEmpty"); + yield return new TestCaseData("invalidCalculationFactorStormDurationOpenStructureNoDouble.xml", + "The 'factorstormduur' element is invalid - The value 'nul' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFactorStormDurationOpenStructureNoDouble"); + yield return new TestCaseData("invalidCalculationFactorStormDurationOpenStructureWrongCulture.xml", + "The 'factorstormduur' element is invalid - The value '0,5' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFactorStormDurationOpenStructureWrongCulture"); + + yield return new TestCaseData("invalidCalculationFailureProbabilityOpenStructureEmpty.xml", + "The 'kansmislukkensluiting' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityOpenStructureEmpty"); + yield return new TestCaseData("invalidCalculationFailureProbabilityOpenStructureNoDouble.xml", + "The 'kansmislukkensluiting' element is invalid - The value 'nul' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityOpenStructureNoDouble"); + yield return new TestCaseData("invalidCalculationFailureProbabilityOpenStructureWrongCulture.xml", + "The 'kansmislukkensluiting' element is invalid - The value '0,5' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityOpenStructureWrongCulture"); + + yield return new TestCaseData("invalidCalculationFailureProbabilityReparationEmpty.xml", + "The 'faalkansherstel' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityReparationEmpty"); + yield return new TestCaseData("invalidCalculationFailureProbabilityReparationNoDouble.xml", + "The 'faalkansherstel' element is invalid - The value 'nul' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityReparationNoDouble"); + yield return new TestCaseData("invalidCalculationFailureProbabilityReparationWrongCulture.xml", + "The 'faalkansherstel' element is invalid - The value '0,5' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationFailureProbabilityReparationWrongCulture"); + + yield return new TestCaseData("invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingEmpty.xml", + "The 'kansopopenstaan' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingEmpty"); + yield return new TestCaseData("invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingNoDouble.xml", + "The 'kansopopenstaan' element is invalid - The value 'nul' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingNoDouble"); + yield return new TestCaseData("invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingWrongCulture.xml", + "The 'kansopopenstaan' element is invalid - The value '0,5' is invalid according to its datatype 'Double'") + .SetName("invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingWrongCulture"); + + yield return new TestCaseData("invalidCalculationIdenticalAperturesEmpty.xml", + "The 'nrdoorstroomopeningen' element is invalid - The value '' is invalid according to its datatype 'Integer'") + .SetName("invalidCalculationIdenticalAperturesEmpty"); + yield return new TestCaseData("invalidCalculationIdenticalAperturesNoInt.xml", + "The 'nrdoorstroomopeningen' element is invalid - The value 'nul' is invalid according to its datatype 'Integer'") + .SetName("invalidCalculationIdenticalAperturesNoInt"); + + yield return new TestCaseData("invalidCalculationInflowModelTypeEmpty.xml", + "The 'instroommodel' element is invalid - The value '' is invalid according to its datatype 'String' - The Enumeration constraint failed.") + .SetName("invalidCalculationInflowModelTypeEmpty"); + yield return new TestCaseData("invalidCalculationInflowModelTypeUnsupportedString.xml", + "The 'instroommodel' element is invalid - The value 'invalid' is invalid according to its datatype 'String' - The Enumeration constraint failed.") + .SetName("invalidCalculationInflowModelTypeUnsupportedString"); + + yield return new TestCaseData("invalidStochastNoName.xml", + "The required attribute 'naam' is missing.") + .SetName("invalidStochastNoName"); + yield return new TestCaseData("invalidStochastUnknownName.xml", + "The 'naam' attribute is invalid - The value 'Test' is invalid according to its datatype 'nameType' - The Enumeration constraint failed.") + .SetName("invalidStochastUnknownName"); + yield return new TestCaseData("invalidStochastMultipleMean.xml", + "Element 'verwachtingswaarde' cannot appear more than once if content model type is \"all\".") + .SetName("invalidStochastMultipleMean"); + yield return new TestCaseData("invalidStochastMultipleStandardDeviation.xml", + "Element 'standaardafwijking' cannot appear more than once if content model type is \"all\".") + .SetName("invalidStochastMultipleStandardDeviation"); + yield return new TestCaseData("invalidStochastMultipleVariationCoefficient.xml", + "Element 'variatiecoefficient' cannot appear more than once if content model type is \"all\".") + .SetName("invalidStochastMultipleVariationCoefficient"); + yield return new TestCaseData("invalidStochastMeanEmpty.xml", + "The 'verwachtingswaarde' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidStochastMeanEmpty"); + yield return new TestCaseData("invalidStochastMeanNoDouble.xml", + "The 'verwachtingswaarde' element is invalid - The value 'string' is invalid according to its datatype 'Double'") + .SetName("invalidStochastMeanNoDouble"); + yield return new TestCaseData("invalidStochastMeanWrongCulture.xml", + "The 'verwachtingswaarde' element is invalid - The value '1,2' is invalid according to its datatype 'Double'") + .SetName("invalidStochastMeanWrongCulture"); + yield return new TestCaseData("invalidStochastStandardDeviationEmpty.xml", + "The 'standaardafwijking' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidStochastStandardDeviationEmpty"); + yield return new TestCaseData("invalidStochastStandardDeviationNoDouble.xml", + "The 'standaardafwijking' element is invalid - The value 'string' is invalid according to its datatype 'Double'") + .SetName("invalidStochastStandardDeviationNoDouble"); + yield return new TestCaseData("invalidStochastStandardDeviationWrongCulture.xml", + "The 'standaardafwijking' element is invalid - The value '1,2' is invalid according to its datatype 'Double'") + .SetName("invalidStochastStandardDeviationWrongCulture"); + yield return new TestCaseData("invalidStochastVariationCoefficientEmpty.xml", + "The 'variatiecoefficient' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidStochastVariationCoefficientEmpty"); + yield return new TestCaseData("invalidStochastVariationCoefficientNoDouble.xml", + "The 'variatiecoefficient' element is invalid - The value 'string' is invalid according to its datatype 'Double'") + .SetName("invalidStochastVariationCoefficientNoDouble"); + yield return new TestCaseData("invalidStochastVariationCoefficientWrongCulture.xml", + "The 'variatiecoefficient' element is invalid - The value '1,2' is invalid according to its datatype 'Double'") + .SetName("invalidStochastVariationCoefficientWrongCulture"); + + yield return new TestCaseData("invalidMultipleAllowedLevelIncreaseStochast.xml", + "There is a duplicate key sequence 'peilverhogingkomberging' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleAllowedLevelIncreaseStochast"); + yield return new TestCaseData("invalidMultipleCriticalOvertoppingDischargeStochast.xml", + "There is a duplicate key sequence 'kritiekinstromenddebiet' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleCriticalOvertoppingDischargeStochast"); + yield return new TestCaseData("invalidMultipleFlowWidthAtBottomProtectionStochast.xml", + "There is a duplicate key sequence 'breedtebodembescherming' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleFlowWidthAtBottomProtectionStochast"); + yield return new TestCaseData("invalidMultipleModelFactorSuperCriticalFlowStochast.xml", + "There is a duplicate key sequence 'modelfactoroverloopdebiet' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleModelFactorSuperCriticalFlowStochast"); + yield return new TestCaseData("invalidMultipleStorageStructureAreaStochast.xml", + "There is a duplicate key sequence 'kombergendoppervlak' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleStorageStructureAreaStochast"); + yield return new TestCaseData("invalidMultipleStormDurationStochast.xml", + "There is a duplicate key sequence 'stormduur' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleStormDurationStochast"); + yield return new TestCaseData("invalidMultipleWidthFlowAperturesStochast.xml", + "There is a duplicate key sequence 'breedtedoorstroomopening' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleWidthFlowAperturesStochast"); + + yield return new TestCaseData("invalidMultipleAreaFlowAperturesStochast.xml", + "There is a duplicate key sequence 'doorstroomoppervlak' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleAreaFlowAperturesStochast"); + yield return new TestCaseData("invalidMultipleDrainCoefficientStochast.xml", + "There is a duplicate key sequence 'afvoercoefficient' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleDrainCoefficientStochast"); + yield return new TestCaseData("invalidMultipleInsideWaterLevelStochast.xml", + "There is a duplicate key sequence 'binnenwaterstand' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleInsideWaterLevelStochast"); + yield return new TestCaseData("invalidMultipleLevelCrestStructureNotClosingStochast.xml", + "There is a duplicate key sequence 'kruinhoogte' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleLevelCrestStructureNotClosingStochast"); + yield return new TestCaseData("invalidMultipleThresholdHeightOpenWeirStochast.xml", + "There is a duplicate key sequence 'drempelhoogte' for the 'uniqueStochastNameConstraint' key or unique identity constraint.") + .SetName("invalidMultipleThresholdHeightOpenWeirStochast"); + + yield return new TestCaseData("invalidUseBreakWaterEmpty.xml", + "The 'damgebruiken' element is invalid - The value '' is invalid according to its datatype 'Boolean'") + .SetName("invalidUseBreakWaterEmpty"); + yield return new TestCaseData("invalidUseBreakWaterNoBoolean.xml", + "The 'damgebruiken' element is invalid - The value 'string' is invalid according to its datatype 'Boolean'") + .SetName("invalidUseBreakWaterNoBoolean"); + yield return new TestCaseData("invalidMultipleUseBreakWaters.xml", + "Element 'damgebruiken' cannot appear more than once if content model type is \"all\".") + .SetName("invalidMultipleUseBreakWaters"); + + yield return new TestCaseData("invalidBreakWaterTypeEmpty.xml", + "The 'damtype' element is invalid - The value '' is invalid according to its datatype 'String' - The Enumeration constraint failed.") + .SetName("invalidBreakWaterTypeEmpty"); + yield return new TestCaseData("invalidMultipleBreakWaterTypes.xml", + "Element 'damtype' cannot appear more than once if content model type is \"all\".") + .SetName("invalidMultipleBreakWaterTypes"); + yield return new TestCaseData("invalidBreakWaterTypeUnsupportedString.xml", + "The 'damtype' element is invalid - The value 'invalid' is invalid according to its datatype 'String' - The Enumeration constraint failed.") + .SetName("invalidBreakWaterTypeUnsupportedString"); + + yield return new TestCaseData("invalidBreakWaterHeightEmpty.xml", + "The 'damhoogte' element is invalid - The value '' is invalid according to its datatype 'Double'") + .SetName("invalidBreakWaterHeightEmpty"); + yield return new TestCaseData("invalidBreakWaterHeightNoDouble.xml", + "The 'damhoogte' element is invalid - The value 'string' is invalid according to its datatype 'Double'") + .SetName("invalidBreakWaterHeightNoDouble"); + yield return new TestCaseData("invalidBreakWaterHeightWrongCulture.xml", + "The 'damhoogte' element is invalid - The value '1,2' is invalid according to its datatype 'Double'") + .SetName("invalidBreakWaterHeightWrongCulture"); + yield return new TestCaseData("invalidMultipleBreakWaterHeights.xml", + "Element 'damhoogte' cannot appear more than once if content model type is \"all\".") + .SetName("invalidMultipleBreakWaterHeights"); + + yield return new TestCaseData("invalidUseForeshoreEmpty.xml", + "The 'voorlandgebruiken' element is invalid - The value '' is invalid according to its datatype 'Boolean'") + .SetName("invalidUseForeshoreEmpty"); + yield return new TestCaseData("invalidUseForeshoreNoBoolean.xml", + "The 'voorlandgebruiken' element is invalid - The value 'string' is invalid according to its datatype 'Boolean'") + .SetName("invalidUseForeshoreNoBoolean"); + yield return new TestCaseData("invalidMultipleUseForeshore.xml", + "Element 'voorlandgebruiken' cannot appear more than once if content model type is \"all\".") + .SetName("invalidMultipleUseForeshores"); + } + } + + [Test] + public void Constructor_WithFilePath_ReturnsNewInstance() + { + // Setup + var existingPath = Path.Combine(testDirectoryPath, "validConfigurationEmptyCalculation.xml"); + + // Call + var reader = new ClosingStructuresCalculationConfigurationReader(existingPath); + + // Assert + Assert.IsInstanceOf>(reader); + } + + [Test] + [TestCaseSource(nameof(InvalidConfigurations))] + public void Constructor_FileInvalidBasedOnSchemaDefinition_ThrowCriticalFileReadException(string fileName, string expectedParsingMessage) + { + // Setup + string filePath = Path.Combine(testDirectoryPath, fileName); + + // Call + TestDelegate call = () => new ClosingStructuresCalculationConfigurationReader(filePath); + + // Assert + var exception = Assert.Throws(call); + Assert.IsInstanceOf(exception.InnerException); + StringAssert.Contains(expectedParsingMessage, exception.InnerException?.Message); + } + + [Test] + [TestCase("validConfigurationEmptyStochasts")] + [TestCase("validConfigurationEmptyCalculation")] + public void Read_ValidConfigurationWithEmptyCalculationOrWithEmptyStochasts_NoValuesSet(string fileName) + { + // Setup + string filePath = Path.Combine(testDirectoryPath, $"{fileName}.xml"); + var reader = new ClosingStructuresCalculationConfigurationReader(filePath); + + // Call + IList readConfigurationItems = reader.Read().ToList(); + + // Assert + Assert.AreEqual(1, readConfigurationItems.Count); + + var calculation = (ClosingStructuresCalculationConfiguration) readConfigurationItems[0]; + Assert.IsNull(calculation.StructureNormalOrientation); + Assert.IsNull(calculation.StructureName); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.ForeshoreProfileName); + Assert.IsNull(calculation.FailureProbabilityStructureWithErosion); + + Assert.IsNull(calculation.LevelCrestStructureNotClosing); + Assert.IsNull(calculation.AllowedLevelIncreaseStorage); + Assert.IsNull(calculation.CriticalOvertoppingDischarge); + Assert.IsNull(calculation.FlowWidthAtBottomProtection); + Assert.IsNull(calculation.ModelFactorSuperCriticalFlow); + Assert.IsNull(calculation.StorageStructureArea); + Assert.IsNull(calculation.StormDuration); + Assert.IsNull(calculation.WidthFlowApertures); + + Assert.IsNull(calculation.WaveReduction); + } + + [Test] + [TestCase("validFullConfiguration")] + [TestCase("validFullConfiguration_differentOrder")] + public void Read_ValidFullConfigurations_ExpectedValues(string fileName) + { + // Setup + string filePath = Path.Combine(testDirectoryPath, $"{fileName}.xml"); + var reader = new ClosingStructuresCalculationConfigurationReader(filePath); + + // Call + IList readConfigurationItems = reader.Read().ToList(); + + // Assert + Assert.AreEqual(1, readConfigurationItems.Count); + + var calculation = (ClosingStructuresCalculationConfiguration) readConfigurationItems[0]; + Assert.AreEqual(67.1, calculation.StructureNormalOrientation); + Assert.AreEqual("kunstwerk1", calculation.StructureName); + Assert.AreEqual("Locatie1", calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("profiel1", calculation.ForeshoreProfileName); + Assert.AreEqual(0.002, calculation.FactorStormDurationOpenStructure); + Assert.AreEqual(0.03, calculation.ProbabilityOrFrequencyOpenStructureBeforeFlooding); + Assert.AreEqual(0.22, calculation.FailureProbabilityOpenStructure); + Assert.AreEqual(0.0006, calculation.FailureProbabilityReparation); + Assert.AreEqual(0.001, calculation.FailureProbabilityStructureWithErosion); + Assert.AreEqual(4, calculation.IdenticalApertures); + Assert.AreEqual(ConfigurationClosingStructureInflowModelType.VerticalWall, calculation.InflowModelType); + + Assert.AreEqual(1.1, calculation.DrainCoefficient.Mean); + Assert.AreEqual(0.1, calculation.DrainCoefficient.StandardDeviation); + Assert.AreEqual(0.5, calculation.InsideWaterLevel.Mean); + Assert.AreEqual(0.1, calculation.InsideWaterLevel.StandardDeviation); + Assert.AreEqual(80.5, calculation.AreaFlowApertures.Mean); + Assert.AreEqual(1, calculation.AreaFlowApertures.StandardDeviation); + Assert.AreEqual(1.2, calculation.ThresholdHeightOpenWeir.Mean); + Assert.AreEqual(0.1, calculation.ThresholdHeightOpenWeir.StandardDeviation); + Assert.AreEqual(4.3, calculation.LevelCrestStructureNotClosing.Mean); + Assert.AreEqual(0.2, calculation.LevelCrestStructureNotClosing.StandardDeviation); + + Assert.AreEqual(0.2, calculation.AllowedLevelIncreaseStorage.Mean); + Assert.AreEqual(0.01, calculation.AllowedLevelIncreaseStorage.StandardDeviation); + Assert.AreEqual(2, calculation.CriticalOvertoppingDischarge.Mean); + Assert.AreEqual(0.1, calculation.CriticalOvertoppingDischarge.VariationCoefficient); + Assert.AreEqual(15.2, calculation.FlowWidthAtBottomProtection.Mean); + Assert.AreEqual(0.1, calculation.FlowWidthAtBottomProtection.StandardDeviation); + Assert.AreEqual(1.10, calculation.ModelFactorSuperCriticalFlow.Mean); + Assert.AreEqual(0.12, calculation.ModelFactorSuperCriticalFlow.StandardDeviation); + Assert.AreEqual(15000, calculation.StorageStructureArea.Mean); + Assert.AreEqual(0.01, calculation.StorageStructureArea.VariationCoefficient); + Assert.AreEqual(6.0, calculation.StormDuration.Mean); + Assert.AreEqual(0.12, calculation.StormDuration.VariationCoefficient); + Assert.AreEqual(15.2, calculation.WidthFlowApertures.Mean); + Assert.AreEqual(0.1, calculation.WidthFlowApertures.StandardDeviation); + + Assert.AreEqual(ConfigurationBreakWaterType.Dam, calculation.WaveReduction.BreakWaterType); + Assert.AreEqual(1.234, calculation.WaveReduction.BreakWaterHeight); + Assert.IsTrue(calculation.WaveReduction.UseBreakWater); + Assert.IsTrue(calculation.WaveReduction.UseForeshoreProfile); + } + + [Test] + public void Read_ValidFullConfigurationsContainingInfinity_ExpectedValues() + { + // Setup + string filePath = Path.Combine(testDirectoryPath, "validFullConfigurationContainingInfinity.xml"); + var reader = new ClosingStructuresCalculationConfigurationReader(filePath); + + // Call + IList readConfigurationItems = reader.Read().ToList(); + + // Assert + Assert.AreEqual(1, readConfigurationItems.Count); + + var calculation = (ClosingStructuresCalculationConfiguration) readConfigurationItems[0]; + Assert.IsTrue(double.IsNegativeInfinity(calculation.StructureNormalOrientation.Value)); + Assert.IsNull(calculation.StructureName); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.ForeshoreProfileName); + Assert.IsTrue(double.IsPositiveInfinity(calculation.FactorStormDurationOpenStructure.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.ProbabilityOrFrequencyOpenStructureBeforeFlooding.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.FailureProbabilityOpenStructure.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.FailureProbabilityReparation.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.FailureProbabilityStructureWithErosion.Value)); + + Assert.IsTrue(double.IsNegativeInfinity(calculation.DrainCoefficient.Mean.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.DrainCoefficient.StandardDeviation.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.InsideWaterLevel.Mean.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.InsideWaterLevel.StandardDeviation.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.AreaFlowApertures.Mean.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.AreaFlowApertures.StandardDeviation.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.ThresholdHeightOpenWeir.Mean.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.ThresholdHeightOpenWeir.StandardDeviation.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.LevelCrestStructureNotClosing.Mean.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.LevelCrestStructureNotClosing.StandardDeviation.Value)); + + Assert.IsTrue(double.IsPositiveInfinity(calculation.AllowedLevelIncreaseStorage.Mean.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.AllowedLevelIncreaseStorage.StandardDeviation.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.CriticalOvertoppingDischarge.Mean.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.CriticalOvertoppingDischarge.VariationCoefficient.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.FlowWidthAtBottomProtection.Mean.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.FlowWidthAtBottomProtection.StandardDeviation.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.ModelFactorSuperCriticalFlow.Mean.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.ModelFactorSuperCriticalFlow.StandardDeviation.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.StorageStructureArea.Mean.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.StorageStructureArea.VariationCoefficient.Value)); + Assert.IsTrue(double.IsNegativeInfinity(calculation.StormDuration.Mean.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.StormDuration.VariationCoefficient.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.WidthFlowApertures.Mean.Value)); + Assert.IsTrue(double.IsPositiveInfinity(calculation.WidthFlowApertures.StandardDeviation.Value)); + + Assert.IsNull(calculation.WaveReduction.BreakWaterType); + Assert.IsTrue(double.IsNegativeInfinity(calculation.WaveReduction.BreakWaterHeight.Value)); + Assert.IsNull(calculation.WaveReduction.UseBreakWater); + Assert.IsNull(calculation.WaveReduction.UseForeshoreProfile); + } + + [Test] + public void Read_ValidFullConfigurationsContainingNaN_ExpectedValues() + { + // Setup + string filePath = Path.Combine(testDirectoryPath, "validFullConfigurationContainingNaN.xml"); + var reader = new ClosingStructuresCalculationConfigurationReader(filePath); + + // Call + IList readConfigurationItems = reader.Read().ToList(); + + // Assert + Assert.AreEqual(1, readConfigurationItems.Count); + + var calculation = (ClosingStructuresCalculationConfiguration) readConfigurationItems[0]; + Assert.IsNaN(calculation.StructureNormalOrientation); + Assert.IsNull(calculation.StructureName); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.ForeshoreProfileName); + Assert.IsNaN(calculation.FactorStormDurationOpenStructure); + Assert.IsNaN(calculation.ProbabilityOrFrequencyOpenStructureBeforeFlooding); + Assert.IsNaN(calculation.FailureProbabilityOpenStructure); + Assert.IsNaN(calculation.FailureProbabilityReparation); + Assert.IsNaN(calculation.FailureProbabilityStructureWithErosion); + + Assert.IsNaN(calculation.DrainCoefficient.Mean); + Assert.IsNaN(calculation.DrainCoefficient.StandardDeviation); + Assert.IsNaN(calculation.InsideWaterLevel.Mean); + Assert.IsNaN(calculation.InsideWaterLevel.StandardDeviation); + Assert.IsNaN(calculation.AreaFlowApertures.Mean); + Assert.IsNaN(calculation.AreaFlowApertures.StandardDeviation); + Assert.IsNaN(calculation.ThresholdHeightOpenWeir.Mean); + Assert.IsNaN(calculation.ThresholdHeightOpenWeir.StandardDeviation); + Assert.IsNaN(calculation.LevelCrestStructureNotClosing.Mean); + Assert.IsNaN(calculation.LevelCrestStructureNotClosing.StandardDeviation); + + Assert.IsNaN(calculation.AllowedLevelIncreaseStorage.Mean); + Assert.IsNaN(calculation.AllowedLevelIncreaseStorage.StandardDeviation); + Assert.IsNaN(calculation.CriticalOvertoppingDischarge.Mean); + Assert.IsNaN(calculation.CriticalOvertoppingDischarge.VariationCoefficient); + Assert.IsNaN(calculation.FlowWidthAtBottomProtection.Mean); + Assert.IsNaN(calculation.FlowWidthAtBottomProtection.StandardDeviation); + Assert.IsNaN(calculation.ModelFactorSuperCriticalFlow.Mean); + Assert.IsNaN(calculation.ModelFactorSuperCriticalFlow.StandardDeviation); + Assert.IsNaN(calculation.StorageStructureArea.Mean); + Assert.IsNaN(calculation.StorageStructureArea.VariationCoefficient); + Assert.IsNaN(calculation.StormDuration.Mean); + Assert.IsNaN(calculation.StormDuration.VariationCoefficient); + Assert.IsNaN(calculation.WidthFlowApertures.Mean); + Assert.IsNaN(calculation.WidthFlowApertures.StandardDeviation); + + Assert.IsNull(calculation.WaveReduction.BreakWaterType); + Assert.IsNaN(calculation.WaveReduction.BreakWaterHeight); + Assert.IsNull(calculation.WaveReduction.UseBreakWater); + Assert.IsNull(calculation.WaveReduction.UseForeshoreProfile); + } + + [Test] + public void Read_ValidPartialConfigurations_ExpectedValues() + { + // Setup + string filePath = Path.Combine(testDirectoryPath, "validPartialConfiguration.xml"); + var reader = new ClosingStructuresCalculationConfigurationReader(filePath); + + // Call + IList readConfigurationItems = reader.Read().ToList(); + + // Assert + Assert.AreEqual(1, readConfigurationItems.Count); + + var calculation = (ClosingStructuresCalculationConfiguration) readConfigurationItems[0]; + Assert.IsNull(calculation.StructureNormalOrientation); + Assert.IsNull(calculation.StructureName); + Assert.AreEqual("Locatie1", calculation.HydraulicBoundaryLocationName); + Assert.AreEqual("profiel1", calculation.ForeshoreProfileName); + Assert.IsNull(calculation.FailureProbabilityStructureWithErosion); + + Assert.IsNull(calculation.FailureProbabilityOpenStructure); + Assert.IsNull(calculation.FailureProbabilityReparation); + Assert.IsNull(calculation.IdenticalApertures); + Assert.IsNull(calculation.InflowModelType); + Assert.IsNull(calculation.FactorStormDurationOpenStructure); + Assert.IsNull(calculation.ProbabilityOrFrequencyOpenStructureBeforeFlooding); + + Assert.IsNull(calculation.AreaFlowApertures); + Assert.IsNull(calculation.DrainCoefficient); + Assert.IsNull(calculation.InsideWaterLevel); + Assert.IsNull(calculation.ThresholdHeightOpenWeir); + Assert.IsNull(calculation.LevelCrestStructureNotClosing); + + Assert.IsNull(calculation.AllowedLevelIncreaseStorage); + Assert.AreEqual(2, calculation.CriticalOvertoppingDischarge.Mean); + Assert.AreEqual(0.1, calculation.CriticalOvertoppingDischarge.VariationCoefficient); + Assert.IsNull(calculation.FlowWidthAtBottomProtection); + Assert.IsNull(calculation.ModelFactorSuperCriticalFlow); + Assert.AreEqual(15000, calculation.StorageStructureArea.Mean); + Assert.IsNull(calculation.StorageStructureArea.VariationCoefficient); + Assert.AreEqual(6.0, calculation.StormDuration.Mean); + Assert.IsNull(calculation.StormDuration.VariationCoefficient); + Assert.IsNull(calculation.WidthFlowApertures.Mean); + Assert.AreEqual(0.1, calculation.WidthFlowApertures.StandardDeviation); + + Assert.IsNull(calculation.WaveReduction.BreakWaterType); + Assert.IsNull(calculation.WaveReduction.BreakWaterHeight); + Assert.IsTrue(calculation.WaveReduction.UseBreakWater); + Assert.IsTrue(calculation.WaveReduction.UseForeshoreProfile); + } + + [Test] + public void Read_ValidConfigurationsEmptyStochastElements_ExpectedValues() + { + // Setup + string filePath = Path.Combine(testDirectoryPath, "validConfigurationEmptyStochastElements.xml"); + var reader = new ClosingStructuresCalculationConfigurationReader(filePath); + + // Call + IList readConfigurationItems = reader.Read().ToList(); + + // Assert + Assert.AreEqual(1, readConfigurationItems.Count); + + var calculation = (ClosingStructuresCalculationConfiguration) readConfigurationItems[0]; + Assert.IsNull(calculation.StructureNormalOrientation); + Assert.IsNull(calculation.StructureName); + Assert.IsNull(calculation.HydraulicBoundaryLocationName); + Assert.IsNull(calculation.ForeshoreProfileName); + Assert.IsNull(calculation.FailureProbabilityStructureWithErosion); + + Assert.IsNull(calculation.FailureProbabilityOpenStructure); + Assert.IsNull(calculation.FailureProbabilityReparation); + Assert.IsNull(calculation.IdenticalApertures); + Assert.IsNull(calculation.InflowModelType); + Assert.IsNull(calculation.FactorStormDurationOpenStructure); + Assert.IsNull(calculation.ProbabilityOrFrequencyOpenStructureBeforeFlooding); + + Assert.IsNull(calculation.AreaFlowApertures.Mean); + Assert.IsNull(calculation.AreaFlowApertures.StandardDeviation); + Assert.IsNull(calculation.DrainCoefficient.Mean); + Assert.IsNull(calculation.DrainCoefficient.StandardDeviation); + Assert.IsNull(calculation.InsideWaterLevel.Mean); + Assert.IsNull(calculation.InsideWaterLevel.StandardDeviation); + Assert.IsNull(calculation.ThresholdHeightOpenWeir.Mean); + Assert.IsNull(calculation.ThresholdHeightOpenWeir.StandardDeviation); + Assert.IsNull(calculation.LevelCrestStructureNotClosing.Mean); + Assert.IsNull(calculation.LevelCrestStructureNotClosing.StandardDeviation); + + Assert.IsNull(calculation.AllowedLevelIncreaseStorage.Mean); + Assert.IsNull(calculation.AllowedLevelIncreaseStorage.StandardDeviation); + Assert.IsNull(calculation.CriticalOvertoppingDischarge.Mean); + Assert.IsNull(calculation.CriticalOvertoppingDischarge.VariationCoefficient); + Assert.IsNull(calculation.FlowWidthAtBottomProtection.Mean); + Assert.IsNull(calculation.FlowWidthAtBottomProtection.StandardDeviation); + Assert.IsNull(calculation.ModelFactorSuperCriticalFlow.Mean); + Assert.IsNull(calculation.ModelFactorSuperCriticalFlow.StandardDeviation); + Assert.IsNull(calculation.StorageStructureArea.Mean); + Assert.IsNull(calculation.StorageStructureArea.VariationCoefficient); + Assert.IsNull(calculation.StormDuration.Mean); + Assert.IsNull(calculation.StormDuration.VariationCoefficient); + Assert.IsNull(calculation.WidthFlowApertures.Mean); + Assert.IsNull(calculation.WidthFlowApertures.StandardDeviation); + + Assert.IsNull(calculation.WaveReduction); + } + } +} \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Ringtoets.ClosingStructures.IO.Test.csproj =================================================================== diff -u -r9d677016ec66d0ec3cfce9e9b47ac89998f9f620 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Ringtoets.ClosingStructures.IO.Test.csproj (.../Ringtoets.ClosingStructures.IO.Test.csproj) (revision 9d677016ec66d0ec3cfce9e9b47ac89998f9f620) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Ringtoets.ClosingStructures.IO.Test.csproj (.../Ringtoets.ClosingStructures.IO.Test.csproj) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -44,6 +44,7 @@ + @@ -54,6 +55,7 @@ + Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + string + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterHeightWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + 1,2 + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterTypeEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterTypeEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterTypeEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterTypeUnsupportedString.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterTypeUnsupportedString.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidBreakWaterTypeUnsupportedString.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + invalid + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + nul + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFactorStormDurationOpenStructureWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + 0,5 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + nul + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityOpenStructureWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + 0,5 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + nul + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityReparationWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + 0,5 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + nul + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationFailureProbabilityStructureWithErosionWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + 0,5 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationForeshoreProfileEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationForeshoreProfileEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationForeshoreProfileEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationHydraulicBoundaryLocationEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationHydraulicBoundaryLocationEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationHydraulicBoundaryLocationEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationIdenticalAperturesEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationIdenticalAperturesEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationIdenticalAperturesEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationIdenticalAperturesNoInt.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationIdenticalAperturesNoInt.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationIdenticalAperturesNoInt.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + nul + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationInflowModelTypeEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationInflowModelTypeEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationInflowModelTypeEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationInflowModelTypeUnsupportedString.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationInflowModelTypeUnsupportedString.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationInflowModelTypeUnsupportedString.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + invalid + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFactorStormDurationOpenStructure.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFactorStormDurationOpenStructure.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFactorStormDurationOpenStructure.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + 1.2 + 3.2 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityOpenStructure.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityOpenStructure.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityOpenStructure.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + 0.6 + 0.1 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityReparation.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityReparation.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityReparation.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + 0.06 + 0.2 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityStructureWithErosion.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityStructureWithErosion.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleFailureProbabilityStructureWithErosion.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + 3.2 + 0.54 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleForeshoreProfile.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleForeshoreProfile.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleForeshoreProfile.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + kunstwerk 1 + kunstwerk 2 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleHydraulicBoundaryLocation.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleHydraulicBoundaryLocation.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleHydraulicBoundaryLocation.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + locatie 1 + locatie 2 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleIdenticalApertures.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleIdenticalApertures.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleIdenticalApertures.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + 2 + 3 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleInflowModelTypes.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleInflowModelTypes.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleInflowModelTypes.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + lagedrempel + verdronkenkoker + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleOrientation.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleOrientation.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleOrientation.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + 0.5 + 0.5 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleProbabilityOrFrequencyOpenStructureBeforeFlooding.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleProbabilityOrFrequencyOpenStructureBeforeFlooding.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleProbabilityOrFrequencyOpenStructureBeforeFlooding.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + 0.2 + 0.6 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleStructure.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleStructure.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationMultipleStructure.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,7 @@ + + + + kunstwerk 1 + kunstwerk 2 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + nul + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationOrientationWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + 0,5 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + nul + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationProbabilityOrFrequencyOpenStructureBeforeFloodingWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + 0,5 + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationStructureEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationStructureEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidCalculationStructureEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleAllowedLevelIncreaseStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleAllowedLevelIncreaseStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleAllowedLevelIncreaseStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleAreaFlowAperturesStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleAreaFlowAperturesStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleAreaFlowAperturesStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleBreakWaterHeights.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleBreakWaterHeights.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleBreakWaterHeights.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + 1.2 + 2.3 + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleBreakWaterTypes.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleBreakWaterTypes.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleBreakWaterTypes.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + verticalewand + caisson + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleCriticalOvertoppingDischargeStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleCriticalOvertoppingDischargeStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleCriticalOvertoppingDischargeStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleDrainCoefficientStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleDrainCoefficientStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleDrainCoefficientStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleFlowWidthAtBottomProtectionStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleFlowWidthAtBottomProtectionStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleFlowWidthAtBottomProtectionStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleInsideWaterLevelStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleInsideWaterLevelStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleInsideWaterLevelStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleLevelCrestStructureNotClosingStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleLevelCrestStructureNotClosingStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleLevelCrestStructureNotClosingStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleModelFactorSuperCriticalFlowStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleModelFactorSuperCriticalFlowStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleModelFactorSuperCriticalFlowStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleStorageStructureAreaStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleStorageStructureAreaStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleStorageStructureAreaStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleStormDurationStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleStormDurationStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleStormDurationStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleThresholdHeightOpenWeirStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleThresholdHeightOpenWeirStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleThresholdHeightOpenWeirStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleUseBreakWaters.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleUseBreakWaters.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleUseBreakWaters.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + true + false + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleUseForeshore.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleUseForeshore.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleUseForeshore.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + true + false + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleWidthFlowAperturesStochast.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleWidthFlowAperturesStochast.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidMultipleWidthFlowAperturesStochast.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + + 0.100 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + string + 0.100 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMeanWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 1,2 + 0.100 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleMean.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleMean.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleMean.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,12 @@ + + + + + + 0.000 + 1.000 + 0.100 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleStandardDeviation.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleStandardDeviation.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleStandardDeviation.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,12 @@ + + + + + + 0.000 + 0.100 + 0.200 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleVariationCoefficient.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleVariationCoefficient.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastMultipleVariationCoefficient.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,12 @@ + + + + + + 0.000 + 0.100 + 0.200 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastNoName.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastNoName.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastNoName.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + 0.100 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + string + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastStandardDeviationWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + 1,2 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastUnknownName.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastUnknownName.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastUnknownName.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + 0.100 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientNoDouble.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientNoDouble.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientNoDouble.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + string + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientWrongCulture.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientWrongCulture.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidStochastVariationCoefficientWrongCulture.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,11 @@ + + + + + + 0.000 + 1,2 + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseBreakWaterEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseBreakWaterEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseBreakWaterEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseBreakWaterNoBoolean.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseBreakWaterNoBoolean.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseBreakWaterNoBoolean.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + string + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseForeshoreEmpty.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseForeshoreEmpty.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseForeshoreEmpty.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseForeshoreNoBoolean.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseForeshoreNoBoolean.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/invalidUseForeshoreNoBoolean.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,8 @@ + + + + + string + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyCalculation.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyCalculation.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyCalculation.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,4 @@ + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyStochastElements.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyStochastElements.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyStochastElements.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyStochasts.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyStochasts.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validConfigurationEmptyStochasts.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,72 @@ + + + + Locatie1 + kunstwerk1 + 67.1 + 0.001 + 0.002 + 0.03 + 0.22 + 0.0006 + 4 + verticalewand + profiel1 + + true + havendam + 1.234 + true + + + + 6.0 + 0.12 + + + 1.10 + 0.12 + + + 15.2 + 0.1 + + + 15.2 + 0.1 + + + 15000 + 0.01 + + + 0.2 + 0.01 + + + 2 + 0.1 + + + 1.1 + 0.1 + + + 0.5 + 0.1 + + + 80.5 + 1 + + + 1.2 + 0.1 + + + 4.3 + 0.2 + + + + Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,64 @@ + + + + -INF + -INF + INF + INF + -INF + -INF + + -INF + + + + -INF + INF + + + -INF + -INF + + + -INF + INF + + + INF + INF + + + INF + INF + + + INF + -INF + + + INF + INF + + + -INF + INF + + + INF + -INF + + + -INF + INF + + + INF + -INF + + + INF + -INF + + + + Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,64 @@ + + + + NaN + NaN + + NaN + + NaN + NaN + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + NaN + NaN + + + + Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,72 @@ + + + + + + 1.1 + 0.1 + + + 0.5 + 0.1 + + + 80.5 + 1 + + + 1.2 + 0.1 + + + 4.3 + 0.2 + + + 6.0 + 0.12 + + + 2 + 0.1 + + + 1.10 + 0.12 + + + 15.2 + 0.1 + + + 15000 + 0.01 + + + 15.2 + 0.1 + + + 0.2 + 0.01 + + + + true + 1.234 + havendam + true + + profiel1 + verticalewand + 4 + 0.0006 + 0.22 + 0.03 + 0.002 + 0.001 + 67.1 + kunstwerk1 + Locatie1 + + Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfiguration.xml =================================================================== diff -u --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfiguration.xml (revision 0) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/test-data/ClosingStructuresCalculationConfigurationReader/validPartialConfiguration.xml (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -0,0 +1,26 @@ + + + + Locatie1 + profiel1 + + true + true + + + + 6.0 + + + 0.1 + + + 15000 + + + 2 + 0.1 + + + + Index: Ringtoets/Common/src/Ringtoets.Common.IO/Readers/XElementExtensions.cs =================================================================== diff -u -r52d5e1c2609a6f84238d88e20aa135d28de24cb0 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/Common/src/Ringtoets.Common.IO/Readers/XElementExtensions.cs (.../XElementExtensions.cs) (revision 52d5e1c2609a6f84238d88e20aa135d28de24cb0) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Readers/XElementExtensions.cs (.../XElementExtensions.cs) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -54,6 +54,26 @@ } /// + /// Gets the value from a descendant element. + /// + /// The that contains the descendant element. + /// The name of the descendant element. + /// The value of the element, or null when the + /// does not have descendant elements of . + /// Thrown when any parameter is null. + /// Thrown when the value isn't in the correct format. + /// Thrown when the value represents a number + /// less than or greater than . + public static int? GetIntegerValueFromDescendantElement(this XElement parentElement, string descendantElementName) + { + XElement descendantElement = parentElement.GetDescendantElement(descendantElementName); + + return descendantElement != null + ? (int?) XmlConvert.ToInt32(descendantElement.Value) + : null; + } + + /// /// Gets the value from a descendant element. /// /// The that contains the descendant element. Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/XElementExtensionsTest.cs =================================================================== diff -u -r52d5e1c2609a6f84238d88e20aa135d28de24cb0 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/XElementExtensionsTest.cs (.../XElementExtensionsTest.cs) (revision 52d5e1c2609a6f84238d88e20aa135d28de24cb0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/XElementExtensionsTest.cs (.../XElementExtensionsTest.cs) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -135,6 +135,95 @@ } [Test] + public void GeIntegerValueFromDescendantElement_ParentElementNull_ThrowArgumentNullException() + { + // Setup + XElement rootElement = null; + + // Call + TestDelegate test = () => rootElement.GetIntegerValueFromDescendantElement(""); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("parentElement", exception.ParamName); + } + + [Test] + public void GetIntegerValueFromDescendantElement_DescendantElementNameNull_ThrowArgumentNullException() + { + // Setup + var rootElement = new XElement("Root"); + + // Call + TestDelegate test = () => rootElement.GetIntegerValueFromDescendantElement(null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("descendantElementName", exception.ParamName); + } + + [Test] + public void GetIntegerValueFromDescendantElement_DescendantElementInvalidFormat_ThrowFormatException() + { + // Setup + const string descendantElementName = "number"; + const string descendantElementValue = "drie"; + + var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); + + // Call + TestDelegate test = () => element.GetIntegerValueFromDescendantElement(descendantElementName); + + // Assert + Assert.Throws(test); + } + + [Test] + public void GetIntegerValueFromDescendantElement_DescendantElementOverflows_ThrowOverflowException() + { + // Setup + const string descendantElementName = "number"; + string descendantElementValue = string.Format(CultureInfo.InvariantCulture, "1{0}", int.MaxValue); + + var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); + + // Call + TestDelegate test = () => element.GetIntegerValueFromDescendantElement(descendantElementName); + + // Assert + Assert.Throws(test); + } + + [Test] + public void GetIntegerValueFromDescendantElement_ValidDescendantElement_ReturnValue() + { + // Setup + const string descendantElementName = "number"; + const int descendantElementValue = 3; + + var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); + + // Call + double? readValue = element.GetIntegerValueFromDescendantElement(descendantElementName); + + // Assert + Assert.AreEqual(descendantElementValue, readValue.Value); + } + + [Test] + public void GetIntegerValueFromDescendantElement_InvalidDescendantElement_ReturnNull() + { + // Setup + var element = new XElement("Root", new XElement("number", (double) 3)); + + // Call + double? readValue = element.GetIntegerValueFromDescendantElement("invalidName"); + + // Assert + Assert.IsNull(readValue); + } + + [Test] public void GetStringValueFromDescendantElement_ParentElementNull_ThrowArgumentNullException() { // Setup Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresCalculationConfigurationReaderTest.cs =================================================================== diff -u -r8963d5e5c4a22feba25c4e936e6b67de7104cccd -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresCalculationConfigurationReaderTest.cs (.../HeightStructuresCalculationConfigurationReaderTest.cs) (revision 8963d5e5c4a22feba25c4e936e6b67de7104cccd) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresCalculationConfigurationReaderTest.cs (.../HeightStructuresCalculationConfigurationReaderTest.cs) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -27,7 +27,6 @@ using System.Linq; using System.Xml.Schema; using Core.Common.Base.IO; -using Ringtoets.Common.IO; using Ringtoets.Common.IO.Configurations; namespace Ringtoets.HeightStructures.IO.Test @@ -102,9 +101,9 @@ yield return new TestCaseData("invalidStochastMultipleStandardDeviation.xml", "Element 'standaardafwijking' cannot appear more than once if content model type is \"all\".") .SetName("invalidStochastMultipleStandardDeviation"); - yield return new TestCaseData("invalidStochastMultipleStandardDeviation.xml", - "Element 'standaardafwijking' cannot appear more than once if content model type is \"all\".") - .SetName("invalidStochastMultipleStandardDeviation"); + yield return new TestCaseData("invalidStochastMultipleVariationCoefficient.xml", + "Element 'variatiecoefficient' cannot appear more than once if content model type is \"all\".") + .SetName("invalidStochastMultipleVariationCoefficient"); yield return new TestCaseData("invalidStochastMeanEmpty.xml", "The 'verwachtingswaarde' element is invalid - The value '' is invalid according to its datatype 'Double'") .SetName("invalidStochastMeanEmpty"); @@ -298,11 +297,11 @@ Assert.AreEqual(15.2, calculation.FlowWidthAtBottomProtection.Mean); Assert.AreEqual(0.1, calculation.FlowWidthAtBottomProtection.StandardDeviation); Assert.AreEqual(1.10, calculation.ModelFactorSuperCriticalFlow.Mean); - Assert.IsNull(calculation.ModelFactorSuperCriticalFlow.StandardDeviation); + Assert.AreEqual(0.12, calculation.ModelFactorSuperCriticalFlow.StandardDeviation); Assert.AreEqual(15000, calculation.StorageStructureArea.Mean); Assert.AreEqual(0.01, calculation.StorageStructureArea.VariationCoefficient); Assert.AreEqual(6.0, calculation.StormDuration.Mean); - Assert.IsNull(calculation.StormDuration.VariationCoefficient); + Assert.AreEqual(0.12, calculation.StormDuration.VariationCoefficient); Assert.AreEqual(15.2, calculation.WidthFlowApertures.Mean); Assert.AreEqual(0.1, calculation.WidthFlowApertures.StandardDeviation); @@ -342,11 +341,11 @@ Assert.IsTrue(double.IsNegativeInfinity(calculation.FlowWidthAtBottomProtection.Mean.Value)); Assert.IsTrue(double.IsPositiveInfinity(calculation.FlowWidthAtBottomProtection.StandardDeviation.Value)); Assert.IsTrue(double.IsNegativeInfinity(calculation.ModelFactorSuperCriticalFlow.Mean.Value)); - Assert.IsNull(calculation.ModelFactorSuperCriticalFlow.StandardDeviation); + Assert.IsTrue(double.IsPositiveInfinity(calculation.ModelFactorSuperCriticalFlow.StandardDeviation.Value)); Assert.IsTrue(double.IsPositiveInfinity(calculation.StorageStructureArea.Mean.Value)); Assert.IsTrue(double.IsPositiveInfinity(calculation.StorageStructureArea.VariationCoefficient.Value)); Assert.IsTrue(double.IsNegativeInfinity(calculation.StormDuration.Mean.Value)); - Assert.IsNull(calculation.StormDuration.VariationCoefficient); + Assert.IsTrue(double.IsNegativeInfinity(calculation.StormDuration.VariationCoefficient.Value)); Assert.IsTrue(double.IsPositiveInfinity(calculation.WidthFlowApertures.Mean.Value)); Assert.IsTrue(double.IsPositiveInfinity(calculation.WidthFlowApertures.StandardDeviation.Value)); @@ -386,11 +385,11 @@ Assert.IsNaN(calculation.FlowWidthAtBottomProtection.Mean); Assert.IsNaN(calculation.FlowWidthAtBottomProtection.StandardDeviation); Assert.IsNaN(calculation.ModelFactorSuperCriticalFlow.Mean); - Assert.IsNull(calculation.ModelFactorSuperCriticalFlow.StandardDeviation); + Assert.IsNaN(calculation.ModelFactorSuperCriticalFlow.StandardDeviation); Assert.IsNaN(calculation.StorageStructureArea.Mean); Assert.IsNaN(calculation.StorageStructureArea.VariationCoefficient); Assert.IsNaN(calculation.StormDuration.Mean); - Assert.IsNull(calculation.StormDuration.VariationCoefficient); + Assert.IsNaN(calculation.StormDuration.VariationCoefficient); Assert.IsNaN(calculation.WidthFlowApertures.Mean); Assert.IsNaN(calculation.WidthFlowApertures.StandardDeviation); Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfiguration.xml =================================================================== diff -u -r928b72eb0fe0476d085e49e21ffd325b749a7db9 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfiguration.xml (.../validFullConfiguration.xml) (revision 928b72eb0fe0476d085e49e21ffd325b749a7db9) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfiguration.xml (.../validFullConfiguration.xml) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -15,9 +15,11 @@ 6.0 + 0.12 1.10 + 0.12 15.2 Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml =================================================================== diff -u -r928b72eb0fe0476d085e49e21ffd325b749a7db9 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml (.../validFullConfigurationContainingInfinity.xml) (revision 928b72eb0fe0476d085e49e21ffd325b749a7db9) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfigurationContainingInfinity.xml (.../validFullConfigurationContainingInfinity.xml) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -9,9 +9,11 @@ -INF + -INF -INF + INF -INF Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml =================================================================== diff -u -r928b72eb0fe0476d085e49e21ffd325b749a7db9 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml (.../validFullConfigurationContainingNaN.xml) (revision 928b72eb0fe0476d085e49e21ffd325b749a7db9) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfigurationContainingNaN.xml (.../validFullConfigurationContainingNaN.xml) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -9,9 +9,11 @@ NaN + NaN NaN + NaN NaN Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder.xml =================================================================== diff -u -r928b72eb0fe0476d085e49e21ffd325b749a7db9 -r04a0742040ae09f8839510470014d2b273e67a78 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder.xml (.../validFullConfiguration_differentOrder.xml) (revision 928b72eb0fe0476d085e49e21ffd325b749a7db9) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/test-data/HeightStructuresCalculationConfigurationReader/validFullConfiguration_differentOrder.xml (.../validFullConfiguration_differentOrder.xml) (revision 04a0742040ae09f8839510470014d2b273e67a78) @@ -4,6 +4,7 @@ 6.0 + 0.12 4.3 @@ -15,6 +16,7 @@ 1.10 + 0.12 15.2