Index: Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.IO.Test/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriterTest.cs =================================================================== diff -u -r2c8a3abae63494fce39939b239344dc2a41132c9 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.IO.Test/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriterTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriterTest.cs) (revision 2c8a3abae63494fce39939b239344dc2a41132c9) +++ Riskeer/GrassCoverErosionOutwards/test/Riskeer.GrassCoverErosionOutwards.IO.Test/Configurations/GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriterTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationConfigurationWriterTest.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -28,7 +28,6 @@ using Riskeer.Common.IO.Configurations; using Riskeer.Common.IO.TestUtil; using Riskeer.GrassCoverErosionOutwards.IO.Configurations; -using Riskeer.Revetment.IO.Configurations; namespace Riskeer.GrassCoverErosionOutwards.IO.Test.Configurations { @@ -91,7 +90,7 @@ LowerBoundaryRevetment = (RoundedDouble) 0.5, UpperBoundaryWaterLevels = (RoundedDouble) 1.4, LowerBoundaryWaterLevels = (RoundedDouble) 0.6, - StepSize = ConfigurationWaveConditionsInputStepSize.One, + StepSize = (RoundedDouble) 1, ForeshoreProfileId = "profiel1", Orientation = (RoundedDouble) 67.1, WaveReduction = new WaveReductionConfiguration Index: Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfiguration.cs =================================================================== diff -u -rd1b677c4bef119458dc4ec64058c68dd508578e3 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfiguration.cs (.../WaveConditionsCalculationConfiguration.cs) (revision d1b677c4bef119458dc4ec64058c68dd508578e3) +++ Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfiguration.cs (.../WaveConditionsCalculationConfiguration.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -77,7 +77,7 @@ /// /// Gets or sets the step size of the calculation. /// - public ConfigurationWaveConditionsInputStepSize? StepSize { get; set; } + public double? StepSize { get; set; } /// /// Gets or sets the id of the foreshore profile of the calculation. Index: Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationExporter.cs =================================================================== diff -u -rd1b677c4bef119458dc4ec64058c68dd508578e3 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationExporter.cs (.../WaveConditionsCalculationConfigurationExporter.cs) (revision d1b677c4bef119458dc4ec64058c68dd508578e3) +++ Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationExporter.cs (.../WaveConditionsCalculationConfigurationExporter.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -28,7 +28,6 @@ using Riskeer.Common.IO.Configurations.Export; using Riskeer.Common.IO.Configurations.Helpers; using Riskeer.Revetment.Data; -using Riskeer.Revetment.IO.Configurations.Converters; namespace Riskeer.Revetment.IO.Configurations { @@ -80,7 +79,7 @@ calculationConfiguration.LowerBoundaryWaterLevels = input.LowerBoundaryWaterLevels; calculationConfiguration.UpperBoundaryWaterLevels = input.UpperBoundaryWaterLevels; calculationConfiguration.Orientation = input.Orientation; - calculationConfiguration.StepSize = (ConfigurationWaveConditionsInputStepSize?) new ConfigurationWaveConditionsInputStepSizeConverter().ConvertFrom(input.StepSize); + calculationConfiguration.StepSize = input.StepSize; SetConfigurationForeshoreProfileDependentProperties(calculationConfiguration, input); SetConfigurationTargetProbabilityProperty(calculationConfiguration, input); Index: Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs =================================================================== diff -u -rd1b677c4bef119458dc4ec64058c68dd508578e3 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs (.../WaveConditionsCalculationConfigurationImporter.cs) (revision d1b677c4bef119458dc4ec64058c68dd508578e3) +++ Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs (.../WaveConditionsCalculationConfigurationImporter.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -109,14 +109,14 @@ Name = readCalculation.Name }; - SetStepSize(readCalculation, waveConditionsCalculation); SetCalculationSpecificParameters(readCalculation, waveConditionsCalculation); if (TrySetHydraulicBoundaryLocation(readCalculation.HydraulicBoundaryLocationName, waveConditionsCalculation) && TrySetTargetProbability(readCalculation, waveConditionsCalculation) && TrySetBoundaries(readCalculation, waveConditionsCalculation) && TrySetForeshoreProfile(readCalculation.ForeshoreProfileId, waveConditionsCalculation) && TrySetOrientation(readCalculation, waveConditionsCalculation) + && TrySetStepSize(readCalculation, waveConditionsCalculation) && readCalculation.WaveReduction.ValidateWaveReduction(waveConditionsCalculation.InputParameters.ForeshoreProfile, waveConditionsCalculation.Name, Log)) { @@ -186,15 +186,6 @@ return true; } - private static void SetStepSize(WaveConditionsCalculationConfiguration calculationConfiguration, - ICalculation calculation) - { - if (calculationConfiguration.StepSize.HasValue) - { - calculation.InputParameters.StepSize = (WaveConditionsInputStepSize) calculationConfiguration.StepSize.Value; - } - } - private bool TrySetHydraulicBoundaryLocation(string locationName, ICalculation calculation) { if (TryReadHydraulicBoundaryLocation(locationName, calculation.Name, availableHydraulicBoundaryLocations, out HydraulicBoundaryLocation location)) @@ -313,5 +304,34 @@ return true; } + + /// + /// Assigns the step size. + /// + /// The calculation read from the imported file. + /// The calculation to configure. + /// false when the step size is invalid, true otherwise. + private bool TrySetStepSize(WaveConditionsCalculationConfiguration calculationConfiguration, + ICalculation calculation) + { + RoundedDouble stepSize = calculationConfiguration.StepSize.HasValue + ? (RoundedDouble) calculationConfiguration.StepSize.Value + : RoundedDouble.NaN; + try + { + calculation.InputParameters.StepSize = stepSize; + } + catch (ArgumentOutOfRangeException e) + { + Log.LogOutOfRangeException(string.Format( + RiskeerCommonIOResources.TryReadParameter_Value_0_ParameterName_1_is_invalid, + stepSize, + RiskeerCommonIOResources.CalculationConfigurationImporter_Orientation_DisplayName), + calculation.Name, e); + return false; + } + + return true; + } } } \ No newline at end of file Index: Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationReader.cs =================================================================== diff -u -rd1b677c4bef119458dc4ec64058c68dd508578e3 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationReader.cs (.../WaveConditionsCalculationConfigurationReader.cs) (revision d1b677c4bef119458dc4ec64058c68dd508578e3) +++ Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationReader.cs (.../WaveConditionsCalculationConfigurationReader.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -26,7 +26,6 @@ using Riskeer.Common.IO.Configurations; using Riskeer.Common.IO.Configurations.Helpers; using Riskeer.Common.IO.Configurations.Import; -using Riskeer.Revetment.IO.Configurations.Converters; using Riskeer.Revetment.IO.Properties; using RiskeerCommonIOResources = Riskeer.Common.IO.Properties.Resources; @@ -141,7 +140,7 @@ configuration.LowerBoundaryRevetment = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.LowerBoundaryRevetment); configuration.UpperBoundaryWaterLevels = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.UpperBoundaryWaterLevels); configuration.LowerBoundaryWaterLevels = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.LowerBoundaryWaterLevels); - configuration.StepSize = (ConfigurationWaveConditionsInputStepSize?) calculationElement.GetConvertedValueFromDescendantDoubleElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.StepSize); + configuration.StepSize = calculationElement.GetDoubleValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.StepSize); configuration.ForeshoreProfileId = calculationElement.GetStringValueFromDescendantElement(WaveConditionsCalculationConfigurationSchemaIdentifiers.ForeshoreProfile); configuration.Orientation = calculationElement.GetDoubleValueFromDescendantElement(ConfigurationSchemaIdentifiers.Orientation); configuration.WaveReduction = calculationElement.GetWaveReductionParameters(); Index: Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs =================================================================== diff -u -rd1b677c4bef119458dc4ec64058c68dd508578e3 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision d1b677c4bef119458dc4ec64058c68dd508578e3) +++ Riskeer/Revetment/src/Riskeer.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -24,7 +24,6 @@ using Riskeer.Common.IO.Configurations; using Riskeer.Common.IO.Configurations.Export; using Riskeer.Revetment.Data; -using Riskeer.Revetment.IO.Configurations.Converters; namespace Riskeer.Revetment.IO.Configurations { @@ -85,8 +84,9 @@ writer, WaveConditionsCalculationConfigurationSchemaIdentifiers.LowerBoundaryWaterLevels, configuration.LowerBoundaryWaterLevels); - WriteConfigurationWaveConditionsInputStepSizeWhenAvailable( + WriteElementWhenContentAvailable( writer, + WaveConditionsCalculationConfigurationSchemaIdentifiers.StepSize, configuration.StepSize); WriteElementWhenContentAvailable( @@ -114,28 +114,5 @@ /// Thrown when the conversion of a type /// cannot be performed. protected abstract void WriteWaveConditionsSpecificParameters(XmlWriter writer, T configuration); - - /// - /// Writes the in XML format to file. - /// - /// The writer to use for writing. - /// The stepsize to write. - /// Thrown when the - /// is closed. - /// Thrown when the conversion - /// of cannot be performed. - private static void WriteConfigurationWaveConditionsInputStepSizeWhenAvailable( - XmlWriter writer, - ConfigurationWaveConditionsInputStepSize? stepSize) - { - if (!stepSize.HasValue) - { - return; - } - - var converter = new ConfigurationWaveConditionsInputStepSizeConverter(); - writer.WriteElementString(WaveConditionsCalculationConfigurationSchemaIdentifiers.StepSize, - converter.ConvertToInvariantString(stepSize.Value)); - } } } \ No newline at end of file Index: Riskeer/Revetment/test/Riskeer.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationTest.cs =================================================================== diff -u -rd1b677c4bef119458dc4ec64058c68dd508578e3 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/Revetment/test/Riskeer.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationTest.cs (.../WaveConditionsCalculationConfigurationTest.cs) (revision d1b677c4bef119458dc4ec64058c68dd508578e3) +++ Riskeer/Revetment/test/Riskeer.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationTest.cs (.../WaveConditionsCalculationConfigurationTest.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -75,7 +75,7 @@ const double lowerBoundaryRevetment = 3.3; const double upperBoundaryWaterLevels = 4.4; const double lowerBoundaryWaterLevels = 5.5; - const ConfigurationWaveConditionsInputStepSize stepSize = ConfigurationWaveConditionsInputStepSize.Half; + const double stepSize = 0.5; const string foreshoreProfileName = "Name of the foreshore profile"; const double orientation = 6.6; const bool useBreakWater = true; Index: Riskeer/Revetment/test/Riskeer.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs =================================================================== diff -u -rd1b677c4bef119458dc4ec64058c68dd508578e3 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/Revetment/test/Riskeer.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs (.../WaveConditionsCalculationConfigurationWriterTest.cs) (revision d1b677c4bef119458dc4ec64058c68dd508578e3) +++ Riskeer/Revetment/test/Riskeer.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs (.../WaveConditionsCalculationConfigurationWriterTest.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -19,11 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.ComponentModel; using System.IO; using System.Xml; using Core.Common.Base.Data; -using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Common.IO.Configurations; @@ -92,7 +90,7 @@ LowerBoundaryRevetment = (RoundedDouble) 0.5, UpperBoundaryWaterLevels = (RoundedDouble) 1.4, LowerBoundaryWaterLevels = (RoundedDouble) 0.6, - StepSize = ConfigurationWaveConditionsInputStepSize.One, + StepSize = (RoundedDouble) 1, ForeshoreProfileId = "profiel1", Orientation = (RoundedDouble) 67.1, WaveReduction = new WaveReductionConfiguration @@ -126,28 +124,6 @@ } } - [Test] - public void Write_InvalidStepSize_ThrowsCriticalFileWriteException() - { - // Setup - var configuration = new WaveConditionsCalculationConfiguration("fail") - { - StepSize = (ConfigurationWaveConditionsInputStepSize?) 9000 - }; - - var writer = new TestWaveConditionsCalculationConfigurationWriter("valid"); - - // Call - TestDelegate call = () => writer.Write(new[] - { - configuration - }); - - // Assert - var exception = Assert.Throws(call); - Assert.IsInstanceOf(exception.InnerException); - } - protected override WaveConditionsCalculationConfigurationWriter CreateWriterInstance(string filePath) { return new TestWaveConditionsCalculationConfigurationWriter(filePath); Index: Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.IO.Test/Configurations/StabilityStoneCoverWaveConditionsCalculationConfigurationWriterTest.cs =================================================================== diff -u -rf940fb0318486114473985b8a28a9d62546bffb5 -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.IO.Test/Configurations/StabilityStoneCoverWaveConditionsCalculationConfigurationWriterTest.cs (.../StabilityStoneCoverWaveConditionsCalculationConfigurationWriterTest.cs) (revision f940fb0318486114473985b8a28a9d62546bffb5) +++ Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.IO.Test/Configurations/StabilityStoneCoverWaveConditionsCalculationConfigurationWriterTest.cs (.../StabilityStoneCoverWaveConditionsCalculationConfigurationWriterTest.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -19,15 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.ComponentModel; using System.IO; using Core.Common.Base.Data; -using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Common.IO.Configurations; using Riskeer.Common.IO.TestUtil; -using Riskeer.Revetment.IO.Configurations; using Riskeer.StabilityStoneCover.IO.Configurations; namespace Riskeer.StabilityStoneCover.IO.Test.Configurations @@ -90,7 +87,7 @@ LowerBoundaryRevetment = (RoundedDouble) 0.5, UpperBoundaryWaterLevels = (RoundedDouble) 1.4, LowerBoundaryWaterLevels = (RoundedDouble) 0.6, - StepSize = ConfigurationWaveConditionsInputStepSize.One, + StepSize = (RoundedDouble) 1, ForeshoreProfileId = "profiel1", Orientation = (RoundedDouble) 67.1, WaveReduction = new WaveReductionConfiguration @@ -125,28 +122,6 @@ } } - [Test] - public void Write_InvalidCalculationType_ThrowsCriticalFileWriteException() - { - // Setup - var configuration = new StabilityStoneCoverWaveConditionsCalculationConfiguration("fail") - { - CalculationType = (ConfigurationStabilityStoneCoverCalculationType?) 99 - }; - - var writer = new StabilityStoneCoverWaveConditionsCalculationConfigurationWriter("valid"); - - // Call - TestDelegate call = () => writer.Write(new[] - { - configuration - }); - - // Assert - var exception = Assert.Throws(call); - Assert.IsInstanceOf(exception.InnerException); - } - protected override StabilityStoneCoverWaveConditionsCalculationConfigurationWriter CreateWriterInstance(string filePath) { return new StabilityStoneCoverWaveConditionsCalculationConfigurationWriter(filePath); Index: Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.IO.Test/Configurations/WaveImpactAsphaltCoverWaveConditionsCalculationConfigurationWriterTest.cs =================================================================== diff -u -r6c2102aae9909fdd683808a0ed66b0a8812e74cb -r16a668f8e7d77ae95f3f11fa1f73dc9e081e8444 --- Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.IO.Test/Configurations/WaveImpactAsphaltCoverWaveConditionsCalculationConfigurationWriterTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationConfigurationWriterTest.cs) (revision 6c2102aae9909fdd683808a0ed66b0a8812e74cb) +++ Riskeer/WaveImpactAsphaltCover/test/Riskeer.WaveImpactAsphaltCover.IO.Test/Configurations/WaveImpactAsphaltCoverWaveConditionsCalculationConfigurationWriterTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationConfigurationWriterTest.cs) (revision 16a668f8e7d77ae95f3f11fa1f73dc9e081e8444) @@ -88,7 +88,7 @@ LowerBoundaryRevetment = (RoundedDouble) 0.5, UpperBoundaryWaterLevels = (RoundedDouble) 1.4, LowerBoundaryWaterLevels = (RoundedDouble) 0.6, - StepSize = ConfigurationWaveConditionsInputStepSize.One, + StepSize = (RoundedDouble) 1, ForeshoreProfileId = "profiel1", Orientation = (RoundedDouble) 67.1, WaveReduction = new WaveReductionConfiguration