Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/Helpers/MacroStabilityInwardsXElementExtensions.cs =================================================================== diff -u -r98b1bcb0cbd9da4b960ff8ed57cb54e2ffc8cc99 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/Helpers/MacroStabilityInwardsXElementExtensions.cs (.../MacroStabilityInwardsXElementExtensions.cs) (revision 98b1bcb0cbd9da4b960ff8ed57cb54e2ffc8cc99) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/Helpers/MacroStabilityInwardsXElementExtensions.cs (.../MacroStabilityInwardsXElementExtensions.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -31,42 +31,6 @@ public static class MacroStabilityInwardsXElementExtensions { /// - /// Gets a phreatic line configuration based on the values found in the . - /// - /// The element containing values for phreatic line parameters. - /// The name of the descendant to find the parameter values for. - /// A new or null - /// when was not found. - /// Thrown when any parameter is null. - /// Thrown when the value for a parameter isn't in the correct format. - /// Thrown when the value for a parameter represents a number less - /// than or greater than . - public static MacroStabilityInwardsPhreaticLineConfiguration GetMacroStabilityInwardsPhreaticLineConfiguration(this XElement calculationElement, - string descendantElementName) - { - if (calculationElement == null) - { - throw new ArgumentNullException(nameof(calculationElement)); - } - if (descendantElementName == null) - { - throw new ArgumentNullException(nameof(descendantElementName)); - } - - XElement element = calculationElement.GetDescendantElement(descendantElementName); - if (element == null) - { - return null; - } - - return new MacroStabilityInwardsPhreaticLineConfiguration - { - Inwards = element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement), - Outwards = element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement) - }; - } - - /// /// Gets a location input configuration based on the values in the . /// /// The element containing values for location input parameters. @@ -76,7 +40,8 @@ /// Thrown when the value for a parameter isn't in the correct format. /// Thrown when the value for a parameter represents a number less /// than or greater than . - public static MacroStabilityInwardsLocationInputConfiguration GetMacroStabilityInwardsLocationInputConfiguration(this XElement calculationElement) + public static MacroStabilityInwardsLocationInputConfiguration GetMacroStabilityInwardsLocationInputConfiguration( + this XElement calculationElement) { if (calculationElement == null) { @@ -110,7 +75,8 @@ /// Thrown when the value for a parameter isn't in the correct format. /// Thrown when the value for a parameter represents a number less /// than or greater than . - public static MacroStabilityInwardsLocationInputExtremeConfiguration GetMacroStabilityInwardsLocationInputExtremeConfiguration(this XElement calculationElement) + public static MacroStabilityInwardsLocationInputExtremeConfiguration GetMacroStabilityInwardsLocationInputExtremeConfiguration( + this XElement calculationElement) { if (calculationElement == null) { @@ -146,8 +112,9 @@ /// Thrown when the value for a parameter isn't in the correct format. /// Thrown when the value for a parameter represents a number less /// than or greater than . - public static MacroStabilityInwardsGridConfiguration GetMacroStabilityInwardsGridConfiguration(this XElement calculationElement, - string descendantElementName) + public static MacroStabilityInwardsGridConfiguration GetMacroStabilityInwardsGridConfiguration( + this XElement calculationElement, + string descendantElementName) { if (calculationElement == null) { Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfiguration.cs =================================================================== diff -u -r33f767f38f0ea6a355b68f4169bd04901543ea54 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfiguration.cs (.../MacroStabilityInwardsCalculationConfiguration.cs) (revision 33f767f38f0ea6a355b68f4169bd04901543ea54) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfiguration.cs (.../MacroStabilityInwardsCalculationConfiguration.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -158,21 +158,36 @@ public bool? AdjustPhreaticLine3And4ForUplift { get; set; } /// - /// Gets or sets the phreatic line configuration for phreatic line 2. + /// Gets or sets the piezometric head of the phreatic line 2 inwards. /// - public MacroStabilityInwardsPhreaticLineConfiguration PhreaticLine2 { get; set; } + public double? PiezometricHeadPhreaticLine2Inwards { get; set; } /// - /// Gets or sets the phreatic line configuration for phreatic line 3. + /// Gets or sets the piezometric head of the phreatic line 2 outwards. /// - public MacroStabilityInwardsPhreaticLineConfiguration PhreaticLine3 { get; set; } + public double? PiezometricHeadPhreaticLine2Outwards { get; set; } /// - /// Gets or sets the phreatic line configuration for phreatic line 4. + /// Gets or sets the leakage length inwards of phreatic line 3. /// - public MacroStabilityInwardsPhreaticLineConfiguration PhreaticLine4 { get; set; } + public double? LeakageLengthInwardsPhreaticLine3 { get; set; } /// + /// Gets or sets the leakage length outwards of phreatic line 3. + /// + public double? LeakageLengthOutwardsPhreaticLine3 { get; set; } + + /// + /// Gets or sets the leakage length inwards of phreatic line 4. + /// + public double? LeakageLengthInwardsPhreaticLine4 { get; set; } + + /// + /// Gets or sets the leakage length outwards of phreatic line 4. + /// + public double? LeakageLengthOutwardsPhreaticLine4 { get; set; } + + /// /// Gets or sets the locations input values for daily conditions. /// public MacroStabilityInwardsLocationInputConfiguration LocationInputDaily { get; set; } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs =================================================================== diff -u -r33f767f38f0ea6a355b68f4169bd04901543ea54 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision 33f767f38f0ea6a355b68f4169bd04901543ea54) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -67,21 +67,12 @@ MinimumLevelPhreaticLineAtDikeTopPolder = input.MinimumLevelPhreaticLineAtDikeTopPolder, MinimumLevelPhreaticLineAtDikeTopRiver = input.MinimumLevelPhreaticLineAtDikeTopRiver, AdjustPhreaticLine3And4ForUplift = input.AdjustPhreaticLine3And4ForUplift, - PhreaticLine2 = new MacroStabilityInwardsPhreaticLineConfiguration - { - Inwards = input.PiezometricHeadPhreaticLine2Inwards, - Outwards = input.PiezometricHeadPhreaticLine2Outwards - }, - PhreaticLine3 = new MacroStabilityInwardsPhreaticLineConfiguration - { - Inwards = input.LeakageLengthInwardsPhreaticLine3, - Outwards = input.LeakageLengthOutwardsPhreaticLine3 - }, - PhreaticLine4 = new MacroStabilityInwardsPhreaticLineConfiguration - { - Inwards = input.LeakageLengthInwardsPhreaticLine4, - Outwards = input.LeakageLengthOutwardsPhreaticLine4 - }, + PiezometricHeadPhreaticLine2Inwards = input.PiezometricHeadPhreaticLine2Inwards, + PiezometricHeadPhreaticLine2Outwards = input.PiezometricHeadPhreaticLine2Outwards, + LeakageLengthInwardsPhreaticLine3 = input.LeakageLengthInwardsPhreaticLine3, + LeakageLengthOutwardsPhreaticLine3 = input.LeakageLengthOutwardsPhreaticLine3, + LeakageLengthInwardsPhreaticLine4 = input.LeakageLengthInwardsPhreaticLine4, + LeakageLengthOutwardsPhreaticLine4 = input.LeakageLengthOutwardsPhreaticLine4, LocationInputDaily = input.LocationInputDaily.ToMacroStabilityInwardsLocationInputConfiguration(), LocationInputExtreme = input.LocationInputExtreme.ToMacroStabilityInwardsLocationInputExtremeConfiguration(), Scenario = calculation.ToScenarioConfiguration(), Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs =================================================================== diff -u -re464ea7e9ab7a0dae1e2e0b8d3dad2e9e85a1aa6 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs (.../MacroStabilityInwardsCalculationConfigurationImporter.cs) (revision e464ea7e9ab7a0dae1e2e0b8d3dad2e9e85a1aa6) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationImporter.cs (.../MacroStabilityInwardsCalculationConfigurationImporter.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -596,31 +596,31 @@ input.AdjustPhreaticLine3And4ForUplift = calculationConfiguration.AdjustPhreaticLine3And4ForUplift.Value; } - if (calculationConfiguration.PhreaticLine2?.Outwards.HasValue ?? false) + if (calculationConfiguration.PiezometricHeadPhreaticLine2Outwards.HasValue) { - input.PiezometricHeadPhreaticLine2Outwards = (RoundedDouble) calculationConfiguration.PhreaticLine2.Outwards.Value; + input.PiezometricHeadPhreaticLine2Outwards = (RoundedDouble) calculationConfiguration.PiezometricHeadPhreaticLine2Outwards.Value; } - if (calculationConfiguration.PhreaticLine2?.Inwards.HasValue ?? false) + if (calculationConfiguration.PiezometricHeadPhreaticLine2Inwards.HasValue) { - input.PiezometricHeadPhreaticLine2Inwards = (RoundedDouble) calculationConfiguration.PhreaticLine2.Inwards.Value; + input.PiezometricHeadPhreaticLine2Inwards = (RoundedDouble) calculationConfiguration.PiezometricHeadPhreaticLine2Inwards.Value; } - if (calculationConfiguration.PhreaticLine3?.Outwards.HasValue ?? false) + if (calculationConfiguration.LeakageLengthOutwardsPhreaticLine3.HasValue) { - input.LeakageLengthOutwardsPhreaticLine3 = (RoundedDouble) calculationConfiguration.PhreaticLine3.Outwards.Value; + input.LeakageLengthOutwardsPhreaticLine3 = (RoundedDouble) calculationConfiguration.LeakageLengthOutwardsPhreaticLine3.Value; } - if (calculationConfiguration.PhreaticLine3?.Inwards.HasValue ?? false) + if (calculationConfiguration.LeakageLengthInwardsPhreaticLine3.HasValue) { - input.LeakageLengthInwardsPhreaticLine3 = (RoundedDouble) calculationConfiguration.PhreaticLine3.Inwards.Value; + input.LeakageLengthInwardsPhreaticLine3 = (RoundedDouble) calculationConfiguration.LeakageLengthInwardsPhreaticLine3.Value; } - if (calculationConfiguration.PhreaticLine4?.Outwards.HasValue ?? false) + if (calculationConfiguration.LeakageLengthOutwardsPhreaticLine4.HasValue) { - input.LeakageLengthOutwardsPhreaticLine4 = (RoundedDouble) calculationConfiguration.PhreaticLine4.Outwards.Value; + input.LeakageLengthOutwardsPhreaticLine4 = (RoundedDouble) calculationConfiguration.LeakageLengthOutwardsPhreaticLine4.Value; } - if (calculationConfiguration.PhreaticLine4?.Inwards.HasValue ?? false) + if (calculationConfiguration.LeakageLengthInwardsPhreaticLine4.HasValue) { - input.LeakageLengthInwardsPhreaticLine4 = (RoundedDouble) calculationConfiguration.PhreaticLine4.Inwards.Value; + input.LeakageLengthInwardsPhreaticLine4 = (RoundedDouble) calculationConfiguration.LeakageLengthInwardsPhreaticLine4.Value; } if (calculationConfiguration.SlipPlaneMinimumDepth.HasValue) Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationReader.cs =================================================================== diff -u -rf0525483bb0f01219ec1990b2e366de5faa7cb96 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationReader.cs (.../MacroStabilityInwardsCalculationConfigurationReader.cs) (revision f0525483bb0f01219ec1990b2e366de5faa7cb96) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationReader.cs (.../MacroStabilityInwardsCalculationConfigurationReader.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -96,10 +96,6 @@ AdjustPhreaticLine3And4ForUplift = calculationElement.GetBoolValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.AdjustPhreaticLine3And4ForUpliftElement), - PhreaticLine2 = calculationElement.GetMacroStabilityInwardsPhreaticLineConfiguration(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine2PiezometricHeadElement), - PhreaticLine3 = calculationElement.GetMacroStabilityInwardsPhreaticLineConfiguration(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine3LeakageLengthElement), - PhreaticLine4 = calculationElement.GetMacroStabilityInwardsPhreaticLineConfiguration(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine4LeakageLengthElement), - LocationInputDaily = calculationElement.GetMacroStabilityInwardsLocationInputConfiguration(), LocationInputExtreme = calculationElement.GetMacroStabilityInwardsLocationInputExtremeConfiguration(), @@ -111,6 +107,9 @@ }; SetPhreaticLine1Properties(configuration, calculationElement); + SetPhreaticLine2Properties(configuration, calculationElement); + SetPhreaticLine3Properties(configuration, calculationElement); + SetPhreaticLine4Properties(configuration, calculationElement); SetZonesProperties(configuration, calculationElement); SetGridProperties(configuration, calculationElement); @@ -128,17 +127,80 @@ /// Thrown when any conversion cannot be performed. private static void SetPhreaticLine1Properties(MacroStabilityInwardsCalculationConfiguration configuration, XElement calculationElement) { - XElement phreaticLine1Element = calculationElement.GetDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine1MinimumLevelElement); + XElement descendantElement = calculationElement.GetDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine1MinimumLevelElement); + if (descendantElement == null) + { + return; + } + + configuration.MinimumLevelPhreaticLineAtDikeTopPolder = descendantElement.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.MinimumLevelPhreaticLineAtDikeTopPolderElement); + configuration.MinimumLevelPhreaticLineAtDikeTopRiver = descendantElement.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.MinimumLevelPhreaticLineAtDikeTopRiverElement); + } + + /// + /// Sets the phreatic line 2 related parameters to . + /// + /// The configuration to set to the phreatic line 2 properties, if any. + /// The that contains the phreatic line 2 element. + /// Thrown when the value for a parameter isn't in the correct format. + /// Thrown when the value for a parameter represents a number less + /// than or greater than . + /// Thrown when any conversion cannot be performed. + private static void SetPhreaticLine2Properties(MacroStabilityInwardsCalculationConfiguration configuration, XElement calculationElement) + { + XElement descendantElement = calculationElement.GetDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine2PiezometricHeadElement); + if (descendantElement == null) + { + return; + } + + configuration.PiezometricHeadPhreaticLine2Inwards = descendantElement.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement); + configuration.PiezometricHeadPhreaticLine2Outwards = descendantElement.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement); + } + + /// + /// Sets the phreatic line 3 related parameters to . + /// + /// The configuration to set to the phreatic line 3 properties, if any. + /// The that contains the phreatic line 3 element. + /// Thrown when the value for a parameter isn't in the correct format. + /// Thrown when the value for a parameter represents a number less + /// than or greater than . + /// Thrown when any conversion cannot be performed. + private static void SetPhreaticLine3Properties(MacroStabilityInwardsCalculationConfiguration configuration, XElement calculationElement) + { + XElement phreaticLine1Element = calculationElement.GetDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine3LeakageLengthElement); if (phreaticLine1Element == null) { return; } - configuration.MinimumLevelPhreaticLineAtDikeTopPolder = phreaticLine1Element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.MinimumLevelPhreaticLineAtDikeTopPolderElement); - configuration.MinimumLevelPhreaticLineAtDikeTopRiver = phreaticLine1Element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.MinimumLevelPhreaticLineAtDikeTopRiverElement); + configuration.LeakageLengthInwardsPhreaticLine3 = phreaticLine1Element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement); + configuration.LeakageLengthOutwardsPhreaticLine3 = phreaticLine1Element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement); } /// + /// Sets the phreatic line 4 related parameters to . + /// + /// The configuration to set to the phreatic line 4 properties, if any. + /// The that contains the phreatic line 4 element. + /// Thrown when the value for a parameter isn't in the correct format. + /// Thrown when the value for a parameter represents a number less + /// than or greater than . + /// Thrown when any conversion cannot be performed. + private static void SetPhreaticLine4Properties(MacroStabilityInwardsCalculationConfiguration configuration, XElement calculationElement) + { + XElement phreaticLine1Element = calculationElement.GetDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine4LeakageLengthElement); + if (phreaticLine1Element == null) + { + return; + } + + configuration.LeakageLengthInwardsPhreaticLine4 = phreaticLine1Element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement); + configuration.LeakageLengthOutwardsPhreaticLine4 = phreaticLine1Element.GetDoubleValueFromDescendantElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement); + } + + /// /// Sets the zone related parameters to . /// /// The configuration to set to the zone properties, if any. Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs =================================================================== diff -u -rf0525483bb0f01219ec1990b2e366de5faa7cb96 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision f0525483bb0f01219ec1990b2e366de5faa7cb96) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -171,17 +171,10 @@ MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.AdjustPhreaticLine3And4ForUpliftElement, configuration.AdjustPhreaticLine3And4ForUplift); - WritePhreaticLineConfigurationWhenContentAvailable(writer, - MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine3LeakageLengthElement, - configuration.PhreaticLine3); - WritePhreaticLineConfigurationWhenContentAvailable(writer, - MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine4LeakageLengthElement, - configuration.PhreaticLine4); + WritePhreaticLine3Configuration(writer, configuration); + WritePhreaticLine4Configuration(writer, configuration); + WritePhreaticLine2Configuration(writer, configuration); - WritePhreaticLineConfigurationWhenContentAvailable(writer, - MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine2PiezometricHeadElement, - configuration.PhreaticLine2); - WriteLocationDailyInputWhenContentAvailable(writer, configuration.LocationInputDaily); WriteLocationExtremeInputWhenContentAvailable(writer, configuration.LocationInputExtreme); @@ -190,36 +183,75 @@ } /// - /// Writes a phreatic line configuration. + /// Writes a phreatic line 2 configuration. /// /// The writer to use for writing. - /// The name of the phreatic line. - /// The configuration for the phreatic line that can be null. + /// The configuration to write. /// Thrown when the /// is closed. - private static void WritePhreaticLineConfigurationWhenContentAvailable(XmlWriter writer, - string elementName, - MacroStabilityInwardsPhreaticLineConfiguration configuration) + private static void WritePhreaticLine2Configuration(XmlWriter writer, + MacroStabilityInwardsCalculationConfiguration configuration) { - if (configuration == null) - { - return; - } + writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine2PiezometricHeadElement); - writer.WriteStartElement(elementName); + WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement, + configuration.PiezometricHeadPhreaticLine2Inwards); WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement, + configuration.PiezometricHeadPhreaticLine2Outwards); + + writer.WriteEndElement(); + } + + /// + /// Writes a phreatic line 3 configuration. + /// + /// The writer to use for writing. + /// The configuration to write. + /// Thrown when the + /// is closed. + private static void WritePhreaticLine3Configuration(XmlWriter writer, + MacroStabilityInwardsCalculationConfiguration configuration) + { + writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine3LeakageLengthElement); + + WriteElementWhenContentAvailable(writer, MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement, - configuration.Inwards); + configuration.LeakageLengthInwardsPhreaticLine3); WriteElementWhenContentAvailable(writer, MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement, - configuration.Outwards); + configuration.LeakageLengthOutwardsPhreaticLine3); writer.WriteEndElement(); } /// + /// Writes a phreatic line 4 configuration. + /// + /// The writer to use for writing. + /// The configuration to write. + /// Thrown when the + /// is closed. + private static void WritePhreaticLine4Configuration(XmlWriter writer, + MacroStabilityInwardsCalculationConfiguration configuration) + { + writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine4LeakageLengthElement); + + WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement, + configuration.LeakageLengthInwardsPhreaticLine4); + + WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement, + configuration.LeakageLengthOutwardsPhreaticLine4); + + writer.WriteEndElement(); + } + + /// /// Writes a location input configuration for daily conditions. /// /// The writer to use for writing. @@ -252,7 +284,7 @@ /// Thrown when the /// is closed. private static void WriteLocationExtremeInputWhenContentAvailable(XmlWriter writer, - MacroStabilityInwardsLocationInputExtremeConfiguration configuration) + MacroStabilityInwardsLocationInputExtremeConfiguration configuration) { if (configuration == null) { Fisheye: Tag 6d2a451c86300fe64ea80a345ab6d37549007ea0 refers to a dead (removed) revision in file `Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsPhreaticLineConfiguration.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Ringtoets.MacroStabilityInwards.IO.csproj =================================================================== diff -u -r578d9ed2cd2330f233659f25ff91910533cabf39 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Ringtoets.MacroStabilityInwards.IO.csproj (.../Ringtoets.MacroStabilityInwards.IO.csproj) (revision 578d9ed2cd2330f233659f25ff91910533cabf39) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Ringtoets.MacroStabilityInwards.IO.csproj (.../Ringtoets.MacroStabilityInwards.IO.csproj) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -49,7 +49,6 @@ - Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/Helpers/MacroStabilityInwardsXElementExtensionsTest.cs =================================================================== diff -u -r578d9ed2cd2330f233659f25ff91910533cabf39 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/Helpers/MacroStabilityInwardsXElementExtensionsTest.cs (.../MacroStabilityInwardsXElementExtensionsTest.cs) (revision 578d9ed2cd2330f233659f25ff91910533cabf39) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/Helpers/MacroStabilityInwardsXElementExtensionsTest.cs (.../MacroStabilityInwardsXElementExtensionsTest.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -69,143 +69,6 @@ .SetName("Invalid format"); } - #region GetMacroStabilityInwardsPhreaticLineConfiguration - - [Test] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_XElementNameNull_ThrowArgumentNullException() - { - // Call - TestDelegate test = () => ((XElement) null).GetMacroStabilityInwardsPhreaticLineConfiguration("element"); - - // Assert - var exception = Assert.Throws(test); - Assert.AreEqual("calculationElement", exception.ParamName); - } - - [Test] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_DescendantElementNameNull_ThrowArgumentNullException() - { - // Setup - var element = new XElement("Root"); - - // Call - TestDelegate test = () => element.GetMacroStabilityInwardsPhreaticLineConfiguration(null); - - // Assert - var exception = Assert.Throws(test); - Assert.AreEqual("descendantElementName", exception.ParamName); - } - - [Test] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_DescendantElementNameNotFound_ReturnNull() - { - // Setup - const string descendantElementName = "descendantElement"; - - var element = new XElement("Root", new XElement(descendantElementName)); - - // Call - MacroStabilityInwardsPhreaticLineConfiguration configuration = element.GetMacroStabilityInwardsPhreaticLineConfiguration("differentElementName"); - - // Assert - Assert.IsNull(configuration); - } - - [Test] - [TestCaseSource(nameof(GetInvalidDoubleValues))] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_DescendantElementNoValidDouble_ThrowException(string doubleValue, Type exceptionType) - { - // Setup - const string descendantElementName = "descendantElement"; - - var element = new XElement("Root", new XElement(descendantElementName, new XElement("binnenwaarts", doubleValue))); - - // Call - TestDelegate test = () => element.GetMacroStabilityInwardsPhreaticLineConfiguration(descendantElementName); - - // Assert - Assert.Throws(exceptionType, test); - } - - [Test] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_WithoutProperties_ReturnMacroStabilityInwardsPhreaticLineConfiguration() - { - // Setup - const string descendantElementName = "descendantElement"; - var element = new XElement("Root", new XElement(descendantElementName)); - - // Call - MacroStabilityInwardsPhreaticLineConfiguration configuration = element.GetMacroStabilityInwardsPhreaticLineConfiguration(descendantElementName); - - // Assert - Assert.IsNull(configuration.Inwards); - Assert.IsNull(configuration.Outwards); - } - - [Test] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_WithInwardsElement_ReturnMacroStabilityInwardsPhreaticLineConfiguration() - { - // Setup - var random = new Random(31); - double inwards = random.NextDouble(); - const string descendantElementName = "descendantElement"; - - var inwardsElement = new XElement("binnenwaarts", inwards); - - var element = new XElement("Root", new XElement(descendantElementName, inwardsElement)); - - // Call - MacroStabilityInwardsPhreaticLineConfiguration configuration = element.GetMacroStabilityInwardsPhreaticLineConfiguration(descendantElementName); - - // Assert - Assert.AreEqual(inwards, configuration.Inwards); - Assert.IsNull(configuration.Outwards); - } - - [Test] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_WithOutwardsElement_ReturnMacroStabilityInwardsPhreaticLineConfiguration() - { - // Setup - var random = new Random(31); - double outwards = random.NextDouble(); - const string descendantElementName = "descendantElement"; - - var outwardsElement = new XElement("buitenwaarts", outwards); - - var element = new XElement("Root", new XElement(descendantElementName, outwardsElement)); - - // Call - MacroStabilityInwardsPhreaticLineConfiguration configuration = element.GetMacroStabilityInwardsPhreaticLineConfiguration(descendantElementName); - - // Assert - Assert.IsNull(configuration.Inwards); - Assert.AreEqual(outwards, configuration.Outwards); - } - - [Test] - public void GetMacroStabilityInwardsPhreaticLineConfiguration_ValidDescendantElement_ReturnMacroStabilityInwardsPhreaticLineConfiguration() - { - // Setup - var random = new Random(31); - double inwards = random.NextDouble(); - double outwards = random.NextDouble(); - const string descendantElementName = "descendantElement"; - - var inwardsElement = new XElement("binnenwaarts", inwards); - var outwardsElement = new XElement("buitenwaarts", outwards); - - var element = new XElement("Root", new XElement(descendantElementName, inwardsElement, outwardsElement)); - - // Call - MacroStabilityInwardsPhreaticLineConfiguration configuration = element.GetMacroStabilityInwardsPhreaticLineConfiguration(descendantElementName); - - // Assert - Assert.AreEqual(inwards, configuration.Inwards); - Assert.AreEqual(outwards, configuration.Outwards); - } - - #endregion - #region GetMacroStabilityInwardsLocationInputConfiguration [Test] Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationReaderTest.cs =================================================================== diff -u -ra2007eb52624e8787adf2834a0c43751b939f45b -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationReaderTest.cs (.../MacroStabilityInwardsCalculationConfigurationReaderTest.cs) (revision a2007eb52624e8787adf2834a0c43751b939f45b) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationReaderTest.cs (.../MacroStabilityInwardsCalculationConfigurationReaderTest.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -99,9 +99,12 @@ Assert.IsNull(configuration.MinimumLevelPhreaticLineAtDikeTopRiver); Assert.IsNull(configuration.MinimumLevelPhreaticLineAtDikeTopPolder); Assert.IsNull(configuration.AdjustPhreaticLine3And4ForUplift); - Assert.IsNull(configuration.PhreaticLine2); - Assert.IsNull(configuration.PhreaticLine3); - Assert.IsNull(configuration.PhreaticLine4); + Assert.IsNull(configuration.PiezometricHeadPhreaticLine2Inwards); + Assert.IsNull(configuration.PiezometricHeadPhreaticLine2Outwards); + Assert.IsNull(configuration.LeakageLengthInwardsPhreaticLine3); + Assert.IsNull(configuration.LeakageLengthOutwardsPhreaticLine3); + Assert.IsNull(configuration.LeakageLengthInwardsPhreaticLine4); + Assert.IsNull(configuration.LeakageLengthOutwardsPhreaticLine4); Assert.IsNull(configuration.LocationInputDaily); Assert.IsNull(configuration.LocationInputExtreme); Assert.IsNull(configuration.SlipPlaneMinimumDepth); @@ -139,12 +142,12 @@ Assert.IsNaN(configuration.ZCoordinateDrainageConstruction); Assert.IsNaN(configuration.MinimumLevelPhreaticLineAtDikeTopRiver); Assert.IsNaN(configuration.MinimumLevelPhreaticLineAtDikeTopPolder); - Assert.IsNaN(configuration.PhreaticLine2.Inwards); - Assert.IsNaN(configuration.PhreaticLine2.Outwards); - Assert.IsNaN(configuration.PhreaticLine3.Inwards); - Assert.IsNaN(configuration.PhreaticLine3.Outwards); - Assert.IsNaN(configuration.PhreaticLine4.Inwards); - Assert.IsNaN(configuration.PhreaticLine4.Outwards); + Assert.IsNaN(configuration.PiezometricHeadPhreaticLine2Inwards); + Assert.IsNaN(configuration.PiezometricHeadPhreaticLine2Outwards); + Assert.IsNaN(configuration.LeakageLengthInwardsPhreaticLine3); + Assert.IsNaN(configuration.LeakageLengthOutwardsPhreaticLine3); + Assert.IsNaN(configuration.LeakageLengthInwardsPhreaticLine4); + Assert.IsNaN(configuration.LeakageLengthOutwardsPhreaticLine4); Assert.IsNaN(configuration.LocationInputDaily.WaterLevelPolder); Assert.IsNaN(configuration.LocationInputDaily.PhreaticLineOffsetBelowDikeTopAtRiver); Assert.IsNaN(configuration.LocationInputDaily.PhreaticLineOffsetBelowDikeToeAtPolder); @@ -196,12 +199,12 @@ Assert.IsTrue(double.IsPositiveInfinity(configuration.ZCoordinateDrainageConstruction.Value)); Assert.IsTrue(double.IsPositiveInfinity(configuration.MinimumLevelPhreaticLineAtDikeTopRiver.Value)); Assert.IsTrue(double.IsPositiveInfinity(configuration.MinimumLevelPhreaticLineAtDikeTopPolder.Value)); - Assert.IsTrue(double.IsPositiveInfinity(configuration.PhreaticLine2.Inwards.Value)); - Assert.IsTrue(double.IsPositiveInfinity(configuration.PhreaticLine2.Outwards.Value)); - Assert.IsTrue(double.IsPositiveInfinity(configuration.PhreaticLine3.Inwards.Value)); - Assert.IsTrue(double.IsPositiveInfinity(configuration.PhreaticLine3.Outwards.Value)); - Assert.IsTrue(double.IsPositiveInfinity(configuration.PhreaticLine4.Inwards.Value)); - Assert.IsTrue(double.IsPositiveInfinity(configuration.PhreaticLine4.Outwards.Value)); + Assert.IsTrue(double.IsPositiveInfinity(configuration.PiezometricHeadPhreaticLine2Inwards.Value)); + Assert.IsTrue(double.IsPositiveInfinity(configuration.PiezometricHeadPhreaticLine2Outwards.Value)); + Assert.IsTrue(double.IsPositiveInfinity(configuration.LeakageLengthInwardsPhreaticLine3.Value)); + Assert.IsTrue(double.IsPositiveInfinity(configuration.LeakageLengthOutwardsPhreaticLine3.Value)); + Assert.IsTrue(double.IsPositiveInfinity(configuration.LeakageLengthInwardsPhreaticLine4.Value)); + Assert.IsTrue(double.IsPositiveInfinity(configuration.LeakageLengthOutwardsPhreaticLine4.Value)); Assert.IsTrue(double.IsPositiveInfinity(configuration.LocationInputDaily.WaterLevelPolder.Value)); Assert.IsTrue(double.IsPositiveInfinity(configuration.LocationInputDaily.PhreaticLineOffsetBelowDikeTopAtRiver.Value)); Assert.IsTrue(double.IsPositiveInfinity(configuration.LocationInputDaily.PhreaticLineOffsetBelowDikeToeAtPolder.Value)); @@ -266,21 +269,13 @@ Assert.IsTrue(configuration.AdjustPhreaticLine3And4ForUplift); - MacroStabilityInwardsPhreaticLineConfiguration phreaticLine3Configuration = configuration.PhreaticLine3; - Assert.IsNotNull(phreaticLine3Configuration); - Assert.AreEqual(10.1, phreaticLine3Configuration.Inwards); - Assert.AreEqual(10.2, phreaticLine3Configuration.Outwards); + Assert.AreEqual(20.1, configuration.PiezometricHeadPhreaticLine2Inwards); + Assert.AreEqual(20.2, configuration.PiezometricHeadPhreaticLine2Outwards); + Assert.AreEqual(10.1, configuration.LeakageLengthInwardsPhreaticLine3); + Assert.AreEqual(10.2, configuration.LeakageLengthOutwardsPhreaticLine3); + Assert.AreEqual(10.3, configuration.LeakageLengthInwardsPhreaticLine4); + Assert.AreEqual(10.4, configuration.LeakageLengthOutwardsPhreaticLine4); - MacroStabilityInwardsPhreaticLineConfiguration phreaticLine4Configuration = configuration.PhreaticLine4; - Assert.IsNotNull(phreaticLine4Configuration); - Assert.AreEqual(10.3, phreaticLine4Configuration.Inwards); - Assert.AreEqual(10.4, phreaticLine4Configuration.Outwards); - - MacroStabilityInwardsPhreaticLineConfiguration phreaticLine2Configuration = configuration.PhreaticLine2; - Assert.IsNotNull(phreaticLine2Configuration); - Assert.AreEqual(20.1, phreaticLine2Configuration.Inwards); - Assert.AreEqual(20.2, phreaticLine2Configuration.Outwards); - MacroStabilityInwardsLocationInputConfiguration dailyConfiguration = configuration.LocationInputDaily; Assert.IsNotNull(dailyConfiguration); Assert.AreEqual(2.2, dailyConfiguration.WaterLevelPolder); @@ -375,21 +370,13 @@ Assert.IsTrue(configuration.AdjustPhreaticLine3And4ForUplift); - MacroStabilityInwardsPhreaticLineConfiguration phreaticLine3Configuration = configuration.PhreaticLine3; - Assert.IsNotNull(phreaticLine3Configuration); - Assert.AreEqual(10.1, phreaticLine3Configuration.Inwards); - Assert.AreEqual(10.2, phreaticLine3Configuration.Outwards); + Assert.AreEqual(20.1, configuration.PiezometricHeadPhreaticLine2Inwards); + Assert.AreEqual(20.2, configuration.PiezometricHeadPhreaticLine2Outwards); + Assert.AreEqual(10.1, configuration.LeakageLengthInwardsPhreaticLine3); + Assert.AreEqual(10.2, configuration.LeakageLengthOutwardsPhreaticLine3); + Assert.AreEqual(10.3, configuration.LeakageLengthInwardsPhreaticLine4); + Assert.AreEqual(10.4, configuration.LeakageLengthOutwardsPhreaticLine4); - MacroStabilityInwardsPhreaticLineConfiguration phreaticLine4Configuration = configuration.PhreaticLine4; - Assert.IsNotNull(phreaticLine4Configuration); - Assert.AreEqual(10.3, phreaticLine4Configuration.Inwards); - Assert.AreEqual(10.4, phreaticLine4Configuration.Outwards); - - MacroStabilityInwardsPhreaticLineConfiguration phreaticLine2Configuration = configuration.PhreaticLine2; - Assert.IsNotNull(phreaticLine2Configuration); - Assert.AreEqual(20.1, phreaticLine2Configuration.Inwards); - Assert.AreEqual(20.2, phreaticLine2Configuration.Outwards); - MacroStabilityInwardsLocationInputConfiguration dailyConfiguration = configuration.LocationInputDaily; Assert.IsNotNull(dailyConfiguration); Assert.AreEqual(2.2, dailyConfiguration.WaterLevelPolder); @@ -475,11 +462,12 @@ Assert.AreEqual(10.9, configuration.MinimumLevelPhreaticLineAtDikeTopRiver); Assert.IsNull(configuration.MinimumLevelPhreaticLineAtDikeTopPolder); Assert.IsNull(configuration.AdjustPhreaticLine3And4ForUplift); - Assert.AreEqual(20.1, configuration.PhreaticLine2.Inwards); - Assert.AreEqual(20.2, configuration.PhreaticLine2.Outwards); - Assert.AreEqual(10.1, configuration.PhreaticLine3.Inwards); - Assert.AreEqual(10.2, configuration.PhreaticLine3.Outwards); - Assert.IsNull(configuration.PhreaticLine4); + Assert.AreEqual(20.1, configuration.PiezometricHeadPhreaticLine2Inwards); + Assert.AreEqual(20.2, configuration.PiezometricHeadPhreaticLine2Outwards); + Assert.AreEqual(10.1, configuration.LeakageLengthInwardsPhreaticLine3); + Assert.AreEqual(10.2, configuration.LeakageLengthOutwardsPhreaticLine3); + Assert.IsNull(configuration.LeakageLengthInwardsPhreaticLine4); + Assert.IsNull(configuration.LeakageLengthOutwardsPhreaticLine4); Assert.IsNaN(configuration.LocationInputDaily.WaterLevelPolder); Assert.AreEqual(2.21, configuration.LocationInputDaily.PhreaticLineOffsetBelowDikeTopAtRiver); Assert.AreEqual(2.24, configuration.LocationInputDaily.PhreaticLineOffsetBelowDikeToeAtPolder); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationTest.cs =================================================================== diff -u -r33f767f38f0ea6a355b68f4169bd04901543ea54 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationTest.cs (.../MacroStabilityInwardsCalculationConfigurationTest.cs) (revision 33f767f38f0ea6a355b68f4169bd04901543ea54) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationTest.cs (.../MacroStabilityInwardsCalculationConfigurationTest.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.IO.Configurations; using Ringtoets.MacroStabilityInwards.IO.Configurations; @@ -65,9 +66,12 @@ Assert.IsNull(configuration.MinimumLevelPhreaticLineAtDikeTopRiver); Assert.IsNull(configuration.MinimumLevelPhreaticLineAtDikeTopPolder); Assert.IsNull(configuration.AdjustPhreaticLine3And4ForUplift); - Assert.IsNull(configuration.PhreaticLine2); - Assert.IsNull(configuration.PhreaticLine3); - Assert.IsNull(configuration.PhreaticLine4); + Assert.IsNull(configuration.PiezometricHeadPhreaticLine2Inwards); + Assert.IsNull(configuration.PiezometricHeadPhreaticLine2Outwards); + Assert.IsNull(configuration.LeakageLengthInwardsPhreaticLine3); + Assert.IsNull(configuration.LeakageLengthOutwardsPhreaticLine3); + Assert.IsNull(configuration.LeakageLengthInwardsPhreaticLine4); + Assert.IsNull(configuration.LeakageLengthOutwardsPhreaticLine4); Assert.IsNull(configuration.LocationInputDaily); Assert.IsNull(configuration.LocationInputExtreme); Assert.IsNull(configuration.SlipPlaneMinimumDepth); @@ -85,44 +89,48 @@ } [Test] - public void SimpleProperties_SetNewValues_NewValuesSet() + public void Constructor_SetProperties_ExpectedValues() { // Setup + var random = new Random(31); const string calculationName = "Name of the calculation"; - const double assessmentLevel = 1.1; + double assessmentLevel = random.NextDouble(); const string hydraulicBoundaryLocation = "Name of the hydraulic boundary location"; const string surfaceLine = "Name of the surface line"; const string stochasticSoilModel = "Name of the stochastic soil model"; const string stochasticSoilProfile = "Name of the stochastic soil profile"; const ConfigurationDikeSoilScenario dikeSoilScenario = ConfigurationDikeSoilScenario.SandDikeOnSand; - const double waterLevelRiverAverage = 1.5; - const bool drainageConstructionPresent = true; - const double xCoordinateDrainageConstruction = 0.6; - const double zCoordinateDrainageConstruction = 0.7; + double waterLevelRiverAverage = random.NextDouble(); + bool drainageConstructionPresent = random.NextBoolean(); + double xCoordinateDrainageConstruction = random.NextDouble(); + double zCoordinateDrainageConstruction = random.NextDouble(); - const double minimumLevelPhreaticLineAtDikeTopRiver = 0.8; - const double minimumLevelPhreaticLineAtDikeTopPolder = 0.9; + double minimumLevelPhreaticLineAtDikeTopRiver = random.NextDouble(); + double minimumLevelPhreaticLineAtDikeTopPolder = random.NextDouble(); - const bool adjustPhreaticLine3And4ForUplift = true; - var phreaticLine2 = new MacroStabilityInwardsPhreaticLineConfiguration(); - var phreaticLine3 = new MacroStabilityInwardsPhreaticLineConfiguration(); - var phreaticLine4 = new MacroStabilityInwardsPhreaticLineConfiguration(); + bool adjustPhreaticLine3And4ForUplift = random.NextBoolean(); + double piezometricHeadPhreaticLine2Inwards = random.NextDouble(); + double piezometricHeadPhreaticLine2Outwards = random.NextDouble(); + double leakageLengthInwardsPhreaticLine3 = random.NextDouble(); + double leakageLengthOutwardsPhreaticLine3 = random.NextDouble(); + double leakageLengthInwardsPhreaticLine4 = random.NextDouble(); + double leakageLengthOutwardsPhreaticLine4 = random.NextDouble(); var locationInputDaily = new MacroStabilityInwardsLocationInputConfiguration(); var locationInputExtreme = new MacroStabilityInwardsLocationInputExtremeConfiguration(); - const double slipPlaneMinimumDepth = 2.2; - const double slipPlaneMinimumLength = 3.3; - const double maximumSliceWidth = 4.4; - const bool createZones = true; + double slipPlaneMinimumDepth = random.NextDouble(); + double slipPlaneMinimumLength = random.NextDouble(); + double maximumSliceWidth = random.NextDouble(); + bool createZones = random.NextBoolean(); var scenarioConfiguration = new ScenarioConfiguration(); - const bool movegrid = true; + bool movegrid = random.NextBoolean(); const ConfigurationGridDeterminationType gridDeterminationType = ConfigurationGridDeterminationType.Manual; const ConfigurationTangentLineDeterminationType tangentLineDeterminationType = ConfigurationTangentLineDeterminationType.Specified; - const double tangentLineZTop = 5.5; - const double tangentLineZBottom = 6.6; - const int tangentLineNumber = 7; + double tangentLineZTop = random.NextDouble(); + double tangentLineZBottom = random.NextDouble(); + int tangentLineNumber = random.Next(); var leftGrid = new MacroStabilityInwardsGridConfiguration(); var rightGrid = new MacroStabilityInwardsGridConfiguration(); @@ -143,9 +151,12 @@ MinimumLevelPhreaticLineAtDikeTopRiver = minimumLevelPhreaticLineAtDikeTopRiver, MinimumLevelPhreaticLineAtDikeTopPolder = minimumLevelPhreaticLineAtDikeTopPolder, AdjustPhreaticLine3And4ForUplift = adjustPhreaticLine3And4ForUplift, - PhreaticLine2 = phreaticLine2, - PhreaticLine3 = phreaticLine3, - PhreaticLine4 = phreaticLine4, + PiezometricHeadPhreaticLine2Inwards = piezometricHeadPhreaticLine2Inwards, + PiezometricHeadPhreaticLine2Outwards = piezometricHeadPhreaticLine2Outwards, + LeakageLengthInwardsPhreaticLine3 = leakageLengthInwardsPhreaticLine3, + LeakageLengthOutwardsPhreaticLine3 = leakageLengthOutwardsPhreaticLine3, + LeakageLengthInwardsPhreaticLine4 = leakageLengthInwardsPhreaticLine4, + LeakageLengthOutwardsPhreaticLine4 = leakageLengthOutwardsPhreaticLine4, LocationInputDaily = locationInputDaily, LocationInputExtreme = locationInputExtreme, SlipPlaneMinimumDepth = slipPlaneMinimumDepth, @@ -178,9 +189,12 @@ Assert.AreEqual(minimumLevelPhreaticLineAtDikeTopRiver, configuration.MinimumLevelPhreaticLineAtDikeTopRiver); Assert.AreEqual(minimumLevelPhreaticLineAtDikeTopPolder, configuration.MinimumLevelPhreaticLineAtDikeTopPolder); Assert.AreEqual(adjustPhreaticLine3And4ForUplift, configuration.AdjustPhreaticLine3And4ForUplift); - Assert.AreSame(phreaticLine2, configuration.PhreaticLine2); - Assert.AreSame(phreaticLine3, configuration.PhreaticLine3); - Assert.AreSame(phreaticLine4, configuration.PhreaticLine4); + Assert.AreEqual(piezometricHeadPhreaticLine2Inwards, configuration.PiezometricHeadPhreaticLine2Inwards); + Assert.AreEqual(piezometricHeadPhreaticLine2Outwards, configuration.PiezometricHeadPhreaticLine2Outwards); + Assert.AreEqual(leakageLengthInwardsPhreaticLine3, configuration.LeakageLengthInwardsPhreaticLine3); + Assert.AreEqual(leakageLengthOutwardsPhreaticLine3, configuration.LeakageLengthOutwardsPhreaticLine3); + Assert.AreEqual(leakageLengthInwardsPhreaticLine4, configuration.LeakageLengthInwardsPhreaticLine4); + Assert.AreEqual(leakageLengthOutwardsPhreaticLine4, configuration.LeakageLengthOutwardsPhreaticLine4); Assert.AreSame(locationInputDaily, configuration.LocationInputDaily); Assert.AreSame(locationInputExtreme, configuration.LocationInputExtreme); Assert.AreEqual(slipPlaneMinimumDepth, configuration.SlipPlaneMinimumDepth); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs =================================================================== diff -u -r33f767f38f0ea6a355b68f4169bd04901543ea54 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs (.../MacroStabilityInwardsCalculationConfigurationWriterTest.cs) (revision 33f767f38f0ea6a355b68f4169bd04901543ea54) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs (.../MacroStabilityInwardsCalculationConfigurationWriterTest.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -95,21 +95,12 @@ ZCoordinateDrainageConstruction = 10.6, MinimumLevelPhreaticLineAtDikeTopPolder = 11.1, MinimumLevelPhreaticLineAtDikeTopRiver = 11.2, - PhreaticLine2 = new MacroStabilityInwardsPhreaticLineConfiguration - { - Inwards = 60.1, - Outwards = 60.2 - }, - PhreaticLine3 = new MacroStabilityInwardsPhreaticLineConfiguration - { - Inwards = 70.1, - Outwards = 70.2 - }, - PhreaticLine4 = new MacroStabilityInwardsPhreaticLineConfiguration - { - Inwards = 80.1, - Outwards = 80.2 - }, + PiezometricHeadPhreaticLine2Inwards = 60.1, + PiezometricHeadPhreaticLine2Outwards = 60.2, + LeakageLengthInwardsPhreaticLine3 = 70.1, + LeakageLengthOutwardsPhreaticLine3 = 70.2, + LeakageLengthInwardsPhreaticLine4 = 80.1, + LeakageLengthOutwardsPhreaticLine4 = 80.2, LocationInputDaily = new MacroStabilityInwardsLocationInputConfiguration { WaterLevelPolder = 99.9, Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsGridConfigurationTest.cs =================================================================== diff -u -r6ea49410690a01c9d6882053913633f0b0de4bb8 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsGridConfigurationTest.cs (.../MacroStabilityInwardsGridConfigurationTest.cs) (revision 6ea49410690a01c9d6882053913633f0b0de4bb8) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsGridConfigurationTest.cs (.../MacroStabilityInwardsGridConfigurationTest.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -44,12 +44,10 @@ } [Test] - public void SimpleProperties_SetNewValue_GetsNewlySetValue() + public void Constructor_SetProperties_ExpectedValues() { // Setup var random = new Random(31); - var configuration = new MacroStabilityInwardsGridConfiguration(); - double xLeft = random.NextDouble(); double xRight = random.NextDouble(); double zTop = random.NextDouble(); @@ -58,14 +56,17 @@ int numberOfVerticalPoints = random.Next(); // Call - configuration.XLeft = xLeft; - configuration.XRight = xRight; - configuration.ZTop = zTop; - configuration.ZBottom = zBottom; - configuration.NumberOfHorizontalPoints = numberOfHorizontalPoints; - configuration.NumberOfVerticalPoints = numberOfVerticalPoints; + var configuration = new MacroStabilityInwardsGridConfiguration + { + XLeft = xLeft, + XRight = xRight, + ZTop = zTop, + ZBottom = zBottom, + NumberOfHorizontalPoints = numberOfHorizontalPoints, + NumberOfVerticalPoints = numberOfVerticalPoints + }; - // Assert + // Assert Assert.AreEqual(xLeft, configuration.XLeft); Assert.AreEqual(xRight, configuration.XRight); Assert.AreEqual(zTop, configuration.ZTop); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsLocationInputConfigurationTest.cs =================================================================== diff -u -r8b38b01d4375511d520c9dcea90d891c0fa4372a -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsLocationInputConfigurationTest.cs (.../MacroStabilityInwardsLocationInputConfigurationTest.cs) (revision 8b38b01d4375511d520c9dcea90d891c0fa4372a) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsLocationInputConfigurationTest.cs (.../MacroStabilityInwardsLocationInputConfigurationTest.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.MacroStabilityInwards.IO.Configurations; @@ -43,15 +45,16 @@ } [Test] - public void SimpleProperties_SetNewValues_NewValuesSet() + public void Constructor_SetProperties_ExpectedValues() { // Setup - const double waterLevelPolder = 2.2; - const bool useDefaultOffsets = false; - const double phreaticLineOffsetBelowDikeTopAtRiver = 4.4; - const double phreaticLineOffsetBelowDikeTopAtPolder = 5.5; - const double phreaticLineOffsetBelowShoulderBaseInside = 6.6; - const double phreaticLineOffsetBelowDikeToeAtPolder = 7.7; + var random = new Random(31); + double waterLevelPolder = random.NextDouble(); + bool useDefaultOffsets = random.NextBoolean(); + double phreaticLineOffsetBelowDikeTopAtRiver = random.NextDouble(); + double phreaticLineOffsetBelowDikeTopAtPolder = random.NextDouble(); + double phreaticLineOffsetBelowShoulderBaseInside = random.NextDouble(); + double phreaticLineOffsetBelowDikeToeAtPolder = random.NextDouble(); // Call var configuration = new MacroStabilityInwardsLocationInputConfiguration Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsLocationInputExtremeConfigurationTest.cs =================================================================== diff -u -rc4136f9deafeaf014ebb35c316f10bea91ee4d2e -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsLocationInputExtremeConfigurationTest.cs (.../MacroStabilityInwardsLocationInputExtremeConfigurationTest.cs) (revision c4136f9deafeaf014ebb35c316f10bea91ee4d2e) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsLocationInputExtremeConfigurationTest.cs (.../MacroStabilityInwardsLocationInputExtremeConfigurationTest.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.MacroStabilityInwards.IO.Configurations; @@ -44,16 +46,17 @@ } [Test] - public void SimpleProperties_SetNewValues_NewValuesSet() + public void Constructor_SetProperties_ExpectedValues() { // Setup - const double penetrationLength = 1.1; - const double waterLevelPolder = 2.2; - const bool useDefaultOffsets = false; - const double phreaticLineOffsetBelowDikeTopAtRiver = 4.4; - const double phreaticLineOffsetBelowDikeTopAtPolder = 5.5; - const double phreaticLineOffsetBelowShoulderBaseInside = 6.6; - const double phreaticLineOffsetBelowDikeToeAtPolder = 7.7; + var random = new Random(31); + double penetrationLength = random.NextDouble(); + double waterLevelPolder = random.NextDouble(); + bool useDefaultOffsets = random.NextBoolean(); + double phreaticLineOffsetBelowDikeTopAtRiver = random.NextDouble(); + double phreaticLineOffsetBelowDikeTopAtPolder = random.NextDouble(); + double phreaticLineOffsetBelowShoulderBaseInside = random.NextDouble(); + double phreaticLineOffsetBelowDikeToeAtPolder = random.NextDouble(); // Call var configuration = new MacroStabilityInwardsLocationInputExtremeConfiguration Fisheye: Tag 6d2a451c86300fe64ea80a345ab6d37549007ea0 refers to a dead (removed) revision in file `Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsPhreaticLineConfigurationTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Ringtoets.MacroStabilityInwards.IO.Test.csproj =================================================================== diff -u -r98b1bcb0cbd9da4b960ff8ed57cb54e2ffc8cc99 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Ringtoets.MacroStabilityInwards.IO.Test.csproj (.../Ringtoets.MacroStabilityInwards.IO.Test.csproj) (revision 98b1bcb0cbd9da4b960ff8ed57cb54e2ffc8cc99) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Ringtoets.MacroStabilityInwards.IO.Test.csproj (.../Ringtoets.MacroStabilityInwards.IO.Test.csproj) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -77,7 +77,6 @@ - Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/test-data/MacroStabilityInwardsCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml =================================================================== diff -u -r578d9ed2cd2330f233659f25ff91910533cabf39 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/test-data/MacroStabilityInwardsCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision 578d9ed2cd2330f233659f25ff91910533cabf39) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/test-data/MacroStabilityInwardsCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -96,6 +96,9 @@ + + +