Index: Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs =================================================================== diff -u -rb2288a6eae1568001c17d9ce7aaa5521a44595f2 -rde8a12d20930a82e6cadf8189a136f9804057fab --- Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs) (revision b2288a6eae1568001c17d9ce7aaa5521a44595f2) +++ Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs) (revision de8a12d20930a82e6cadf8189a136f9804057fab) @@ -49,8 +49,11 @@ [Test] public void Write_ConfigurationNull_ThrowArgumentNullException() { + // Setup + var writer = new TWriter(); + // Call - TestDelegate test = () => new TWriter().Write(null, string.Empty); + TestDelegate test = () => writer.Write(null, string.Empty); // Assert ArgumentNullException exception = Assert.Throws(test); @@ -60,8 +63,11 @@ [Test] public void Write_FilePathNull_ThrowArgumentNullException() { + // Setup + var writer = new TWriter(); + // Call - TestDelegate test = () => new TWriter().Write(Enumerable.Empty(), null); + TestDelegate test = () => writer.Write(Enumerable.Empty(), null); // Assert ArgumentNullException exception = Assert.Throws(test); @@ -72,8 +78,11 @@ [TestCaseSource(typeof(InvalidPathHelper), nameof(InvalidPathHelper.InvalidPaths))] public void Write_FilePathInvalid_ThrowCriticalFileWriteException(string filePath) { + // Setup + var writer = new TWriter(); + // Call - TestDelegate call = () => new TWriter().Write(Enumerable.Empty(), filePath); + TestDelegate call = () => writer.Write(Enumerable.Empty(), filePath); // Assert CriticalFileWriteException exception = Assert.Throws(call); @@ -85,9 +94,10 @@ { // Setup var filePath = new string('a', 249); + var writer = new TWriter(); // Call - TestDelegate call = () => new TWriter().Write(Enumerable.Empty(), filePath); + TestDelegate call = () => writer.Write(Enumerable.Empty(), filePath); // Assert CriticalFileWriteException exception = Assert.Throws(call); @@ -98,14 +108,15 @@ public void Write_InvalidDirectoryRights_ThrowCriticalFileWriteException() { // Setup + var writer = new TWriter(); string directoryPath = TestHelper.GetScratchPadPath(nameof(Write_InvalidDirectoryRights_ThrowCriticalFileWriteException)); using (var disposeHelper = new DirectoryDisposeHelper(TestHelper.GetScratchPadPath(), nameof(Write_InvalidDirectoryRights_ThrowCriticalFileWriteException))) { string filePath = Path.Combine(directoryPath, "test.xml"); disposeHelper.LockDirectory(FileSystemRights.Write); // Call - TestDelegate call = () => new TWriter().Write(Enumerable.Empty(), filePath); + TestDelegate call = () => writer.Write(Enumerable.Empty(), filePath); // Assert CriticalFileWriteException exception = Assert.Throws(call); @@ -118,13 +129,14 @@ { // Setup string path = TestHelper.GetScratchPadPath(nameof(Write_FileInUse_ThrowCriticalFileWriteException)); + var writer = new TWriter(); using (var fileDisposeHelper = new FileDisposeHelper(path)) { fileDisposeHelper.LockFiles(); // Call - TestDelegate call = () => new TWriter().Write(Enumerable.Empty(), path); + TestDelegate call = () => writer.Write(Enumerable.Empty(), path); // Assert CriticalFileWriteException exception = Assert.Throws(call); Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Writers/GrassCoverErosionInwardsCalculationConfigurationWriter.cs =================================================================== diff -u -ra015a40ec2544342044dc01878b990c42402cb55 -rde8a12d20930a82e6cadf8189a136f9804057fab --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Writers/GrassCoverErosionInwardsCalculationConfigurationWriter.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriter.cs) (revision a015a40ec2544342044dc01878b990c42402cb55) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Writers/GrassCoverErosionInwardsCalculationConfigurationWriter.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriter.cs) (revision de8a12d20930a82e6cadf8189a136f9804057fab) @@ -40,54 +40,75 @@ GrassCoverErosionInwardsInput input = calculation.InputParameters; - if (input.HydraulicBoundaryLocation != null) - { - writer.WriteElementString(ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement, - input.HydraulicBoundaryLocation.Name); - } - if (input.DikeProfile != null) - { - writer.WriteElementString(GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeProfileElement, - input.DikeProfile.Name); - } + WriteHydraulicBoundaryLocation(input, writer); + WriteDikeProfileName(input, writer); + writer.WriteElementString( ConfigurationSchemaIdentifiers.Orientation, XmlConvert.ToString(input.Orientation)); + WriteDikeHeight(input, writer); + + writer.WriteElementString( + GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeHeightCalculationTypeElement, + DikeHeightCalculationTypeAsXmlString(input.DikeHeightCalculationType)); + WriteWaveReduction(input, writer); WriteDistributions(CreateInputDistributions(input), writer); writer.WriteEndElement(); } - private static IDictionary CreateInputDistributions(GrassCoverErosionInwardsInput calculationInputParameters) + private static void WriteHydraulicBoundaryLocation(GrassCoverErosionInwardsInput input, XmlWriter writer) { - return new Dictionary + if (input.HydraulicBoundaryLocation == null) { - { - GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.CriticalFlowRateStochastName, - calculationInputParameters.CriticalFlowRate - } - }; + return; + } + + writer.WriteElementString( + ConfigurationSchemaIdentifiers.HydraulicBoundaryLocationElement, + input.HydraulicBoundaryLocation.Name); } - private static void WriteWaveReduction(GrassCoverErosionInwardsInput input, XmlWriter writer) + private static void WriteDikeProfileName(GrassCoverErosionInwardsInput input, XmlWriter writer) { if (input.DikeProfile == null) { return; } writer.WriteElementString( + GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeProfileElement, + input.DikeProfile.Name); + } + + private static void WriteDikeHeight(GrassCoverErosionInwardsInput input, XmlWriter writer) + { + if (input.DikeProfile == null) + { + return; + } + + writer.WriteElementString( GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeHeightElement, XmlConvert.ToString(input.DikeHeight)); + } - writer.WriteElementString( - GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.DikeHeightCalculationTypeElement, - DikeHeightCalculationTypeAsXmlString(input.DikeHeightCalculationType)); - + private static string DikeHeightCalculationTypeAsXmlString(DikeHeightCalculationType type) + { + return new DikeHeightCalculationTypeConverter().ConvertToInvariantString(type); + } + + private static void WriteWaveReduction(GrassCoverErosionInwardsInput input, XmlWriter writer) + { + if (input.DikeProfile == null) + { + return; + } + writer.WriteStartElement(ConfigurationSchemaIdentifiers.WaveReduction); writer.WriteElementString( @@ -103,9 +124,15 @@ writer.WriteEndElement(); } - private static string DikeHeightCalculationTypeAsXmlString(DikeHeightCalculationType type) + private static IDictionary CreateInputDistributions(GrassCoverErosionInwardsInput calculationInputParameters) { - return new DikeHeightCalculationTypeConverter().ConvertToInvariantString(type); + return new Dictionary + { + { + GrassCoverErosionInwardsCalculationConfigurationSchemaIdentifiers.CriticalFlowRateStochastName, + calculationInputParameters.CriticalFlowRate + } + }; } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml =================================================================== diff -u -r71d49118c3ebc21c6c78375c31ed3c8b2e9753ed -rde8a12d20930a82e6cadf8189a136f9804057fab --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision 71d49118c3ebc21c6c78375c31ed3c8b2e9753ed) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationExporter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision de8a12d20930a82e6cadf8189a136f9804057fab) @@ -3,6 +3,7 @@ NaN + niet 0.004 @@ -13,6 +14,7 @@ NaN + niet 0.004 Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml =================================================================== diff -u -ra015a40ec2544342044dc01878b990c42402cb55 -rde8a12d20930a82e6cadf8189a136f9804057fab --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision a015a40ec2544342044dc01878b990c42402cb55) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationWriter/folderWithSubfolderAndCalculation.xml (.../folderWithSubfolderAndCalculation.xml) (revision de8a12d20930a82e6cadf8189a136f9804057fab) @@ -23,6 +23,7 @@ NaN + niet 0.004 Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationWriter/sparseConfiguration.xml =================================================================== diff -u -r71d49118c3ebc21c6c78375c31ed3c8b2e9753ed -rde8a12d20930a82e6cadf8189a136f9804057fab --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationWriter/sparseConfiguration.xml (.../sparseConfiguration.xml) (revision 71d49118c3ebc21c6c78375c31ed3c8b2e9753ed) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/GrassCoverErosionInwardsCalculationConfigurationWriter/sparseConfiguration.xml (.../sparseConfiguration.xml) (revision de8a12d20930a82e6cadf8189a136f9804057fab) @@ -2,6 +2,7 @@ NaN + niet 0.004