Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.IO/Configurations/ClosingStructuresCalculationConfigurationExporter.cs (.../ClosingStructuresCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -33,7 +33,7 @@ /// /// Exports a closing structures calculation configuration and stores it as an XML file. /// - public class ClosingStructuresCalculationConfigurationExporter : SchemaCalculationConfigurationExporter< + public class ClosingStructuresCalculationConfigurationExporter : CalculationConfigurationExporter< ClosingStructuresCalculationConfigurationWriter, StructuresCalculation, ClosingStructuresCalculationConfiguration> Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs (.../ClosingStructuresCalculationConfigurationExporterTest.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationExporterTest.cs (.../ClosingStructuresCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -38,7 +38,7 @@ { [TestFixture] public class ClosingStructuresCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< ClosingStructuresCalculationConfigurationExporter, ClosingStructuresCalculationConfigurationWriter, StructuresCalculation, Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs (.../ClosingStructuresCalculationConfigurationWriterTest.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/Configurations/ClosingStructuresCalculationConfigurationWriterTest.cs (.../ClosingStructuresCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -32,7 +32,7 @@ { [TestFixture] public class ClosingStructuresCalculationConfigurationWriterTest - : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< ClosingStructuresCalculationConfigurationWriter, ClosingStructuresCalculationConfiguration> { Index: Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationExporter.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationExporter.cs (.../CalculationConfigurationExporter.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationExporter.cs (.../CalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -21,9 +21,9 @@ using System; using System.Collections.Generic; +using System.Linq; using Core.Common.Base.IO; using Core.Common.IO.Exceptions; -using Core.Common.Utils; using log4net; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.IO.Properties; @@ -34,41 +34,44 @@ /// Base class for exporting a calculation configuration and storing it as an XML file. /// /// The - /// to use for exporting . - /// The type to export. - public abstract class CalculationConfigurationExporter : IFileExporter + /// to use for exporting . + /// The type to export. + /// The type used to convert + /// into before writing to XML using a . + /// + public abstract class CalculationConfigurationExporter : IFileExporter + where TWriter : CalculationConfigurationWriter where TCalculation : class, ICalculation - where TWriter : CalculationConfigurationWriter, new() + where TConfiguration : class, IConfigurationItem { - private static readonly ILog log = LogManager.GetLogger(typeof(CalculationConfigurationExporter)); - private readonly IEnumerable configuration; - private readonly string filePath; + private static readonly ILog log = LogManager.GetLogger(typeof(CalculationConfigurationExporter)); + private readonly IEnumerable configuration; + private readonly TWriter writer; /// - /// Creates a new instance of . + /// Creates a new instance of . /// - /// The calculation configuration to export. + /// The hierarchy of calculations to export. /// The path of the XML file to export to. - /// Thrown when is null. - /// Thrown when is invalid. - protected CalculationConfigurationExporter(IEnumerable configuration, string filePath) + /// Thrown when is null. + /// Thrown when is invalid or when any element + /// of is null. + protected CalculationConfigurationExporter(IEnumerable calculations, string filePath) { - if (configuration == null) + if (calculations == null) { - throw new ArgumentNullException(nameof(configuration)); + throw new ArgumentNullException(nameof(calculations)); } - IOUtils.ValidateFilePath(filePath); - - this.configuration = configuration; - this.filePath = filePath; + writer = CreateWriter(filePath); + configuration = ToConfiguration(calculations).ToArray(); } public bool Export() { try { - new TWriter().Write(configuration, filePath); + writer.Write(configuration); } catch (CriticalFileWriteException e) { @@ -78,5 +81,56 @@ return true; } + + /// + /// Creates the writer that will be used in the . + /// + /// The path of the file to export to. + /// A new . + protected abstract TWriter CreateWriter(string filePath); + + /// + /// Converts the to a . + /// + /// The to convert. + /// A new instance of with values set equal + /// to properties of . + protected abstract TConfiguration ToConfiguration(TCalculation calculation); + + /// + /// Converts a sequence of into a sequence of . + /// + /// The sequence to be converted into a sequence of + /// . + /// The converted of . + /// Thrown when an element of + /// isn't a nor a . + private IEnumerable ToConfiguration(IEnumerable calculations) + { + foreach (ICalculationBase child in calculations) + { + var innerGroup = child as CalculationGroup; + if (innerGroup != null) + { + yield return ToConfiguration(innerGroup); + } + + var calculation = child as TCalculation; + if (calculation != null) + { + yield return ToConfiguration(calculation); + } + + if (innerGroup == null && calculation == null) + { + throw new ArgumentException($"Cannot export calculation of type '{child.GetType()}' using this exporter."); + } + } + } + + private CalculationGroupConfiguration ToConfiguration(CalculationGroup group) + { + return new CalculationGroupConfiguration(group.Name, ToConfiguration(group.Children).ToArray()); + } } } \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationWriter.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationWriter.cs (.../CalculationConfigurationWriter.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/CalculationConfigurationWriter.cs (.../CalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -23,10 +23,8 @@ using System.Collections.Generic; using System.Xml; using Core.Common.IO.Exceptions; +using Core.Common.Utils; using Core.Common.Utils.Properties; -using Ringtoets.Common.Data.Calculation; -using Ringtoets.Common.Data.DikeProfiles; -using Ringtoets.Common.Data.Probabilistics; using Ringtoets.Common.IO.Configurations.Helpers; namespace Ringtoets.Common.IO.Configurations.Export @@ -35,26 +33,40 @@ /// Base implementation of writing calculation configurations to XML. /// /// The type of calculations which are written to file. - public abstract class CalculationConfigurationWriter where T : class, ICalculation + public abstract class CalculationConfigurationWriter where T : class, IConfigurationItem { + private readonly string filePath; + /// + /// Creates a new instance of . + /// + /// The path of the file to write to. + /// Thrown when is invalid. + /// A valid path: + /// + /// is not empty or null, + /// does not consist out of only whitespace characters, + /// does not contain an invalid character, + /// does not end with a directory or path separator (empty file name). + /// + protected CalculationConfigurationWriter(string filePath) + { + this.filePath = filePath; + IOUtils.ValidateFilePath(filePath); + } + + /// /// Writes a calculation configuration to an XML file. /// /// The calculation configuration to write. - /// The path to the target XML file. /// Thrown when any parameter is null. - /// Thrown when unable to write to . - /// The itself will not be part of the written XML, only its children. - public void Write(IEnumerable configuration, string filePath) + /// Thrown when unable to write the file to the provided file path. + public void Write(IEnumerable configuration) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } - if (filePath == null) - { - throw new ArgumentNullException(nameof(filePath)); - } try { @@ -81,84 +93,109 @@ } /// - /// Writes a single in XML format to file. + /// Writes a single in XML format to file. /// - /// The calculation to write. + /// The calculation configuration to write. /// The writer to use for writing. /// Thrown when the is closed. - protected abstract void WriteCalculation(T calculation, XmlWriter writer); + protected abstract void WriteCalculation(T configuration, XmlWriter writer); /// - /// Writes the in XML format to file. + /// Writes a distribution configuration when it has a value. /// - /// The dictionary of distributions, keyed on name, to write. /// The writer to use for writing. - /// Thrown when is null. - /// Thrown when the is closed. - protected static void WriteDistributions(IDictionary distributions, XmlWriter writer) + /// The name of the distribution. + /// The configuration for the distribution that can be null. + /// Thrown when or + /// is null. + protected static void WriteDistributionWhenAvailable(XmlWriter writer, string distributionName, StochastConfiguration configuration) { - if (distributions == null) + if (writer == null) { - throw new ArgumentNullException(nameof(distributions)); + throw new ArgumentNullException(nameof(writer)); } + if (distributionName == null) + { + throw new ArgumentNullException(nameof(distributionName)); + } - if (distributions.Count > 0) + if (configuration != null) { - writer.WriteStartElement(ConfigurationSchemaIdentifiers.StochastsElement); + writer.WriteDistribution(distributionName, configuration); + } + } - foreach (KeyValuePair keyValuePair in distributions) - { - WriteDistribution(keyValuePair.Value, keyValuePair.Key, writer); - } + /// + /// Writes an element with some content when the content has a value. + /// + /// The writer to use for writing. + /// The name of the element. + /// The content of the element that can be null. + /// Thrown when or + /// is null. + protected static void WriteElementWhenContentAvailable(XmlWriter writer, string elementName, string elementContent) + { + if (writer == null) + { + throw new ArgumentNullException(nameof(writer)); + } + if (elementName == null) + { + throw new ArgumentNullException(nameof(elementName)); + } - writer.WriteEndElement(); + if (elementContent != null) + { + writer.WriteElementString( + elementName, + elementContent); } } /// - /// Writes the in XML format to file. + /// Writes an element with some content when the content has a value. /// - /// The dictionary of variation coefficient distributions, keyed on name, to write. /// The writer to use for writing. - /// Thrown when is null. - /// Thrown when the is closed. - protected static void WriteVariationCoefficientDistributions(IDictionary variationCoefficientDistributions, XmlWriter writer) + /// The name of the element. + /// The content of the element that can be null. + /// Thrown when or + /// is null. + protected static void WriteElementWhenContentAvailable(XmlWriter writer, string elementName, double? elementContent) { - if (variationCoefficientDistributions == null) + if (writer == null) { - throw new ArgumentNullException(nameof(variationCoefficientDistributions)); + throw new ArgumentNullException(nameof(writer)); } - - if (variationCoefficientDistributions.Count > 0) + if (elementName == null) { - writer.WriteStartElement(ConfigurationSchemaIdentifiers.StochastsElement); + throw new ArgumentNullException(nameof(elementName)); + } - foreach (KeyValuePair keyValuePair in variationCoefficientDistributions) - { - WriteVariationCoefficientDistribution(keyValuePair.Value, keyValuePair.Key, writer); - } - - writer.WriteEndElement(); + if (elementContent.HasValue) + { + writer.WriteElementString( + elementName, + XmlConvert.ToString(elementContent.Value)); } } /// - /// Writes the properties of the in XML format to file. + /// Writes a wave reduction configuration when it has a value. /// - /// The break water to write. /// The writer to use for writing. - /// Thrown when the is closed. - protected static void WriteBreakWaterProperties(BreakWater breakWater, XmlWriter writer) + /// The configuration for the wave reduction that can be null. + /// Thrown when is null. + protected static void WriteWaveReductionWhenAvailable(XmlWriter writer, WaveReductionConfiguration configuration) { - if (breakWater != null) + if (writer == null) { - writer.WriteElementString( - ConfigurationSchemaIdentifiers.BreakWaterType, - BreakWaterTypeAsXmlString((ConfigurationBreakWaterType) breakWater.Type)); - writer.WriteElementString( - ConfigurationSchemaIdentifiers.BreakWaterHeight, - XmlConvert.ToString(breakWater.Height)); + throw new ArgumentNullException(nameof(writer)); } + + if (configuration != null) + { + writer.WriteWaveReduction(configuration); + } } /// @@ -167,12 +204,12 @@ /// The calculation group(s) and/or calculation(s) to write. /// The writer to use for writing. /// Thrown when - /// contains a value that is neither nor . - private void WriteConfiguration(IEnumerable configuration, XmlWriter writer) + /// contains a value that is neither nor . + private void WriteConfiguration(IEnumerable configuration, XmlWriter writer) { - foreach (ICalculationBase child in configuration) + foreach (IConfigurationItem child in configuration) { - var innerGroup = child as CalculationGroup; + var innerGroup = child as CalculationGroupConfiguration; if (innerGroup != null) { WriteCalculationGroup(innerGroup, writer); @@ -191,43 +228,12 @@ } } - private static string BreakWaterTypeAsXmlString(ConfigurationBreakWaterType type) + private void WriteCalculationGroup(CalculationGroupConfiguration group, XmlWriter writer) { - return new ConfigurationBreakWaterTypeConverter().ConvertToInvariantString(type); - } - - private static void WriteDistribution(IDistribution distribution, string elementName, XmlWriter writer) - { - writer.WriteStartElement(ConfigurationSchemaIdentifiers.StochastElement); - - writer.WriteAttributeString(ConfigurationSchemaIdentifiers.NameAttribute, elementName); - writer.WriteElementString(ConfigurationSchemaIdentifiers.MeanElement, - XmlConvert.ToString(distribution.Mean)); - writer.WriteElementString(ConfigurationSchemaIdentifiers.StandardDeviationElement, - XmlConvert.ToString(distribution.StandardDeviation)); - - writer.WriteEndElement(); - } - - private static void WriteVariationCoefficientDistribution(IVariationCoefficientDistribution distribution, string elementName, XmlWriter writer) - { - writer.WriteStartElement(ConfigurationSchemaIdentifiers.StochastElement); - - writer.WriteAttributeString(ConfigurationSchemaIdentifiers.NameAttribute, elementName); - writer.WriteElementString(ConfigurationSchemaIdentifiers.MeanElement, - XmlConvert.ToString(distribution.Mean)); - writer.WriteElementString(ConfigurationSchemaIdentifiers.VariationCoefficientElement, - XmlConvert.ToString(distribution.CoefficientOfVariation)); - - writer.WriteEndElement(); - } - - private void WriteCalculationGroup(CalculationGroup calculationGroup, XmlWriter writer) - { writer.WriteStartElement(ConfigurationSchemaIdentifiers.FolderElement); - writer.WriteAttributeString(ConfigurationSchemaIdentifiers.NameAttribute, calculationGroup.Name); + writer.WriteAttributeString(ConfigurationSchemaIdentifiers.NameAttribute, group.Name); - WriteConfiguration(calculationGroup.Children, writer); + WriteConfiguration(group.Items, writer); writer.WriteEndElement(); } Fisheye: Tag e507c88f2863ff7bc93505caf71c5f8025fb48c0 refers to a dead (removed) revision in file `Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/SchemaCalculationConfigurationExporter.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e507c88f2863ff7bc93505caf71c5f8025fb48c0 refers to a dead (removed) revision in file `Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/SchemaCalculationConfigurationWriter.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/StructureCalculationConfigurationWriter.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/StructureCalculationConfigurationWriter.cs (.../StructureCalculationConfigurationWriter.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Configurations/Export/StructureCalculationConfigurationWriter.cs (.../StructureCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -27,11 +27,11 @@ /// /// Writer for writing in XML format to file. /// - public abstract class StructureCalculationConfigurationWriter : SchemaCalculationConfigurationWriter + public abstract class StructureCalculationConfigurationWriter : CalculationConfigurationWriter where T : StructuresCalculationConfiguration { /// - /// Creates a new instance of . + /// Creates a new instance of . /// /// The path of the file to write to. /// Thrown when is invalid. Index: Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj =================================================================== diff -u -r8c97f59adda15f1eb2a4550a06d2f7fb8bee91bf -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj (.../Ringtoets.Common.IO.csproj) (revision 8c97f59adda15f1eb2a4550a06d2f7fb8bee91bf) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj (.../Ringtoets.Common.IO.csproj) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -71,7 +71,6 @@ - @@ -112,7 +111,7 @@ - + @@ -124,7 +123,6 @@ - Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/CalculationConfigurationExporterTest.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/CalculationConfigurationExporterTest.cs (.../CalculationConfigurationExporterTest.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/CalculationConfigurationExporterTest.cs (.../CalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -20,9 +20,6 @@ // All rights reserved. using System.Collections.Generic; -using System.IO; -using System.Xml; -using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.TestUtil; @@ -35,63 +32,34 @@ public class CalculationConfigurationExporterTest : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< SimpleCalculationConfigurationExporter, - SimpleCalculationConfigurationWriter, - TestCalculation> + TestCalculationConfigurationWriter, + TestCalculation, + TestConfigurationItem> { - [Test] - public void Export_ValidData_ReturnTrueAndWritesFile() + protected override TestCalculation CreateCalculation() { - // Setup - var calculation = new TestCalculation("Calculation A"); - var calculation2 = new TestCalculation("Calculation B"); - - var calculationGroup2 = new CalculationGroup("Group B", false) - { - Children = - { - calculation2 - } - }; - - var calculationGroup = new CalculationGroup("Group A", false) - { - Children = - { - calculation, - calculationGroup2 - } - }; - - string testFileSubPath = Path.Combine( - nameof(CalculationConfigurationExporter), - "folderWithSubfolderAndCalculation.xml"); - string expectedXmlFilePath = TestHelper.GetTestDataPath( - TestDataPath.Ringtoets.Common.IO, - testFileSubPath); - - // Call and Assert - WriteAndValidate(new[] - { - calculationGroup - }, expectedXmlFilePath); + return new TestCalculation("some name"); } - protected override TestCalculation CreateCalculation() + protected override SimpleCalculationConfigurationExporter CallConfigurationFilePathConstructor(IEnumerable calculations, string filePath) { - return new TestCalculation("TestCalculation A"); + return new SimpleCalculationConfigurationExporter(calculations, filePath); } } - public class SimpleCalculationConfigurationExporter : CalculationConfigurationExporter + public class SimpleCalculationConfigurationExporter + : CalculationConfigurationExporter { - public SimpleCalculationConfigurationExporter(IEnumerable configuration, string targetFilePath) : base(configuration, targetFilePath) {} - } + public SimpleCalculationConfigurationExporter(IEnumerable calculations, string filePath) : base(calculations, filePath) {} - public class SimpleCalculationConfigurationWriter : CalculationConfigurationWriter - { - protected override void WriteCalculation(TestCalculation calculation, XmlWriter writer) + protected override TestCalculationConfigurationWriter CreateWriter(string filePath) { - writer.WriteElementString("calculation", calculation.Name); + return new TestCalculationConfigurationWriter(filePath); } + + protected override TestConfigurationItem ToConfiguration(TestCalculation calculation) + { + return null; + } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/CalculationConfigurationWriterTest.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/CalculationConfigurationWriterTest.cs (.../CalculationConfigurationWriterTest.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/CalculationConfigurationWriterTest.cs (.../CalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -22,17 +22,15 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Xml; -using Core.Common.Base.Data; -using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.Calculation; -using Ringtoets.Common.Data.DikeProfiles; -using Ringtoets.Common.Data.Probabilistics; -using Ringtoets.Common.Data.TestUtil; +using Ringtoets.Common.IO.Configurations; using Ringtoets.Common.IO.Configurations.Export; +using Ringtoets.Common.IO.Configurations.Helpers; using Ringtoets.Common.IO.TestUtil; namespace Ringtoets.Common.IO.Test.Configurations.Export @@ -41,28 +39,30 @@ public class CalculationConfigurationWriterTest : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< TestCalculationConfigurationWriter, - TestCalculation> + TestConfigurationItem> { [Test] - public void WriteDistribution_WithoutDistributions_ArgumentNullException() + [TestCaseSource(nameof(GetCalculationConfigurations))] + public void Write_DifferentCalculationAndCalculationGroupConfigurations_ValidFile(IEnumerable configuration, string expectedFileContentsFileName) { // Setup - string filePath = TestHelper.GetScratchPadPath(nameof(WriteDistribution_WithoutDistributions_ArgumentNullException)); + string filePath = TestHelper.GetScratchPadPath("test.xml"); + string expectedXmlFilePath = TestHelper.GetTestDataPath( + TestDataPath.Ringtoets.Common.IO, + Path.Combine(nameof(CalculationConfigurationWriter), expectedFileContentsFileName)); try { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + // Call + new TestCalculationConfigurationWriter(filePath).Write(configuration); - // Call - Assert.Throws(() => writer.PublicWriteDistributions(null, xmlWriter)); - } - // Assert + Assert.IsTrue(File.Exists(filePath)); + string actualXml = File.ReadAllText(filePath); + string expectedXml = File.ReadAllText(expectedXmlFilePath); - Assert.IsEmpty(actualXml); + Assert.AreEqual(expectedXml, actualXml); } finally { @@ -71,340 +71,365 @@ } [Test] - public void WriteDistribution_EmptyDistributions_NothingWrittenToFile() + public void WriteDistributionWhenAvailable_MeanStandardDeviationStochastConfigurationWriterNull_ThrowsArgumentNullException() { + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + null, + "some name", + null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("writer", exception.ParamName); + } + + [Test] + public void WriteDistributionWhenAvailable_MeanStandardDeviationStochastConfigurationDistributionNameNull_ThrowsArgumentNullException() + { // Setup - string filePath = TestHelper.GetScratchPadPath(nameof(WriteDistribution_EmptyDistributions_NothingWrittenToFile)); + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - try - { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + xmlWriter, + null, + null); - // Call - writer.PublicWriteDistributions(new Dictionary(), xmlWriter); - } + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("distributionName", exception.ParamName); + } - // Assert - string actualXml = File.ReadAllText(filePath); + [Test] + public void WriteDistributionWhenAvailable_MeanStandardDeviationStochastConfigurationNull_WriterNotCalled() + { + // Setup + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - Assert.IsEmpty(actualXml); - } - finally - { - File.Delete(filePath); - } + // Call + ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + xmlWriter, + "some name", + null); + + // Assert + mocks.VerifyAll(); } [Test] - public void WriteDistribution_WithDistributions_WritesEachDistributionAsElement() + public void WriteDistributionWhenAvailable_MeanStandardDeviationStochastConfigurationSet_WriterCalledWithExpectedParameters() { // Setup - string filePath = TestHelper.GetScratchPadPath(nameof(WriteDistribution_WithDistributions_WritesEachDistributionAsElement)); - string expectedXmlFilePath = TestHelper.GetTestDataPath( - TestDataPath.Ringtoets.Common.IO, - Path.Combine(nameof(CalculationConfigurationWriter), "distributions.xml")); + const string name = "some name"; + var configuration = new StochastConfiguration(); - var distributions = new Dictionary - { - { - "normal", new NormalDistribution - { - Mean = (RoundedDouble) 0.2, - StandardDeviation = (RoundedDouble) 0.1 - } - }, - { - "lognormal", new LogNormalDistribution - { - Mean = (RoundedDouble) 0.4, - StandardDeviation = (RoundedDouble) 0.3 - } - } - }; + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + xmlWriter.Expect(w => w.WriteDistribution(name, configuration)); + mocks.ReplayAll(); - try - { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + // Call + ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + xmlWriter, + name, + configuration); - // Call - writer.PublicWriteDistributions(distributions, xmlWriter); - } + // Assert + mocks.VerifyAll(); + } - // Assert - string actualXml = File.ReadAllText(filePath); - string expectedXml = File.ReadAllText(expectedXmlFilePath); + [Test] + public void WriteDistributionWhenAvailable_StochastConfigurationWriterNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + null, + "some name", + null); - Assert.AreEqual(expectedXml, actualXml); - } - finally - { - File.Delete(filePath); - } + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("writer", exception.ParamName); } [Test] - public void WriteVariationCoefficientDistribution_WithoutVariationCoefficientDistributions_ArgumentNullException() + public void WriteDistributionWhenAvailable_StochastConfigurationDistributionNameNull_ThrowsArgumentNullException() { // Setup - string filePath = TestHelper.GetScratchPadPath( - nameof(WriteVariationCoefficientDistribution_WithoutVariationCoefficientDistributions_ArgumentNullException)); + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - try - { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + xmlWriter, + null, + null); - // Call - Assert.Throws(() => writer.PublicWriteDistributions(null, xmlWriter)); - } + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("distributionName", exception.ParamName); + } - // Assert - string actualXml = File.ReadAllText(filePath); + [Test] + public void WriteDistributionWhenAvailable_StochastConfigurationNull_WriterNotCalled() + { + // Setup + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - Assert.IsEmpty(actualXml); - } - finally - { - File.Delete(filePath); - } + // Call + ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + xmlWriter, + "some name", + null); + + // Assert + mocks.VerifyAll(); } [Test] - public void WriteVariationCoefficientDistribution_EmptyVariationCoefficientDistributions_NothingWrittenToFile() + public void WriteDistributionWhenAvailable_StochastConfigurationSet_WriterCalledWithExpectedParameters() { // Setup - string filePath = TestHelper.GetScratchPadPath( - nameof(WriteVariationCoefficientDistribution_EmptyVariationCoefficientDistributions_NothingWrittenToFile)); + const string name = "some name"; + var configuration = new StochastConfiguration(); - try - { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + xmlWriter.Expect(w => w.WriteDistribution(name, configuration)); + mocks.ReplayAll(); - // Call - writer.PublicWriteDistributions(new Dictionary(), xmlWriter); - } + // Call + ExposedCalculationConfigurationWriter.PublicWriteDistributionWhenAvailable( + xmlWriter, + name, + configuration); - // Assert - string actualXml = File.ReadAllText(filePath); + // Assert + mocks.VerifyAll(); + } - Assert.IsEmpty(actualXml); - } - finally - { - File.Delete(filePath); - } + [Test] + public void WriteElementWhenContentAvailable_StringWriterNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + null, + "some name", + (string) null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("writer", exception.ParamName); } [Test] - public void WriteVariationCoefficientDistribution_WithVariationCoefficientDistributions_WritesEachDistributionAsElement() + public void WriteElementWhenContentAvailable_StringElementNameNull_ThrowsArgumentNullException() { // Setup - string filePath = TestHelper.GetScratchPadPath( - nameof(WriteVariationCoefficientDistribution_WithVariationCoefficientDistributions_WritesEachDistributionAsElement)); - string expectedXmlFilePath = TestHelper.GetTestDataPath( - TestDataPath.Ringtoets.Common.IO, - Path.Combine(nameof(CalculationConfigurationWriter), "variationCoefficientDistributions.xml")); + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - var distributions = new Dictionary - { - { - "normal", new VariationCoefficientNormalDistribution - { - Mean = (RoundedDouble) 0.2, - CoefficientOfVariation = (RoundedDouble) 0.1 - } - }, - { - "lognormal", new VariationCoefficientLogNormalDistribution - { - Mean = (RoundedDouble) 0.4, - CoefficientOfVariation = (RoundedDouble) 0.3 - } - } - }; + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + xmlWriter, + null, + (string) null); - try - { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("elementName", exception.ParamName); + } - // Call - writer.PublicWriteVariationCoefficientDistributions(distributions, xmlWriter); - } + [Test] + public void WriteElementWhenContentAvailable_StringNull_WriterNotCalled() + { + // Setup + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - // Assert - string actualXml = File.ReadAllText(filePath); - string expectedXml = File.ReadAllText(expectedXmlFilePath); + // Call + ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + xmlWriter, + "some name", + (string) null); - Assert.AreEqual(expectedXml, actualXml); - } - finally - { - File.Delete(filePath); - } + // Assert + mocks.VerifyAll(); } [Test] - public void WriteBreakWaterProperties_BreakWaterNull_NothingWrittenToFile() + public void WriteElementWhenContentAvailable_StringSet_WriterCalledWithExpectedParameters() { // Setup - string filePath = TestHelper.GetScratchPadPath( - $"{nameof(WriteBreakWaterProperties_WithBreakWater_WritesPropertiesToFile)}.xml"); + const string name = "some name"; + const string value = "some value"; - try - { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + xmlWriter.Expect(w => w.WriteElementString(name, value)); + mocks.ReplayAll(); - // Call - writer.PublicWriteBreakWaterProperties(null, xmlWriter); - } + // Call + ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + xmlWriter, + name, + value); - // Assert - string actualXml = File.ReadAllText(filePath); + // Assert + mocks.VerifyAll(); + } - Assert.IsEmpty(actualXml); - } - finally - { - File.Delete(filePath); - } + [Test] + public void WriteElementWhenContentAvailable_DoubleWriterNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + null, + "some name", + (double?) null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("writer", exception.ParamName); } [Test] - [TestCase(BreakWaterType.Wall, 26.3, "breakWaterWall.xml")] - [TestCase(BreakWaterType.Caisson, 1.5, "breakWaterCaisson.xml")] - [TestCase(BreakWaterType.Dam, -55.1, "breakWaterDam.xml")] - public void WriteBreakWaterProperties_WithBreakWater_WritesPropertiesToFile( - BreakWaterType type, - double height, - string expectedContentFilePath) + public void WriteElementWhenContentAvailable_DoubleElementNameNull_ThrowsArgumentNullException() { // Setup - string filePath = TestHelper.GetScratchPadPath( - $"{nameof(WriteBreakWaterProperties_WithBreakWater_WritesPropertiesToFile)} {type}"); + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - string expectedXmlFilePath = TestHelper.GetTestDataPath( - TestDataPath.Ringtoets.Common.IO, - Path.Combine(nameof(CalculationConfigurationWriter), expectedContentFilePath)); + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + xmlWriter, + null, + (double?) null); - var breakWater = new BreakWater(type, (RoundedDouble) height); + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("elementName", exception.ParamName); + } - try - { - using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) - { - var writer = new TestCalculationConfigurationWriter(); + [Test] + public void WriteElementWhenContentAvailable_DoubleNull_WriterNotCalled() + { + // Setup + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - // Call - writer.PublicWriteBreakWaterProperties(breakWater, xmlWriter); - } + // Call + ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + xmlWriter, + "some name", + (double?) null); - // Assert - string actualXml = File.ReadAllText(filePath); - string expectedXml = File.ReadAllText(expectedXmlFilePath); - - Assert.AreEqual(expectedXml, actualXml); - } - finally - { - File.Delete(filePath); - } + // Assert + mocks.VerifyAll(); } [Test] - public void Write_CalculationOfTypeOtherThanGiven_ThrowsCriticalFileWriteExceptionWithInnerArgumentException() + public void WriteElementWhenContentAvailable_DoubleSet_WriterCalledWithExpectedParameters() { // Setup + const string name = "some name"; + const double value = 3.2; + var mocks = new MockRepository(); - var calculation = mocks.Stub(); + var xmlWriter = mocks.StrictMock(); + xmlWriter.Expect(w => w.WriteElementString(name, XmlConvert.ToString(value))); mocks.ReplayAll(); - string filePath = TestHelper.GetScratchPadPath("test.xml"); + // Call + ExposedCalculationConfigurationWriter.PublicWriteElementWhenContentAvailable( + xmlWriter, + name, + value); - try - { - // Call - TestDelegate test = () => new TestCalculationConfigurationWriter().Write(new[] - { - calculation - }, filePath); - - // Assert - var exception = Assert.Throws(test); - Exception innerException = exception.InnerException; - Assert.IsNotNull(innerException); - Assert.AreEqual($"Cannot write calculation of type '{calculation.GetType()}' using this writer.", innerException.Message); - } - finally - { - File.Delete(filePath); - } + // Assert mocks.VerifyAll(); } [Test] - [TestCaseSource(nameof(GetCalculationConfigurations))] - public void Write_DifferentCalculationAndCalculationGroupConfigurations_ValidFile(IEnumerable configuration, string expectedFileContentsFileName) + public void WriteWaveReductionWhenAvailable_WriterNull_ThrowsArgumentNullException() { - // Setup - string filePath = TestHelper.GetScratchPadPath("test.xml"); - string expectedXmlFilePath = TestHelper.GetTestDataPath( - TestDataPath.Ringtoets.Common.IO, - Path.Combine(nameof(CalculationConfigurationWriter), expectedFileContentsFileName)); + // Call + TestDelegate test = () => ExposedCalculationConfigurationWriter.PublicWriteWaveReductionWhenAvailable( + null, + null); - try - { - // Call - new TestCalculationConfigurationWriter().Write(configuration, filePath); + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("writer", exception.ParamName); + } - // Assert - Assert.IsTrue(File.Exists(filePath)); + [Test] + public void WriteWaveReductionWhenAvailable_WaveReductionConfigurationNull_WriterNotCalled() + { + // Setup + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + mocks.ReplayAll(); - string actualXml = File.ReadAllText(filePath); - string expectedXml = File.ReadAllText(expectedXmlFilePath); + // Call + ExposedCalculationConfigurationWriter.PublicWriteWaveReductionWhenAvailable( + xmlWriter, + null); - Assert.AreEqual(expectedXml, actualXml); - } - finally - { - File.Delete(filePath); - } + // Assert + mocks.VerifyAll(); } - private static XmlWriter CreateXmlWriter(string filePath) + [Test] + public void WriteWaveReductionWhenAvailable_WaveReductionConfigurationSet_WriterCalledWithExpectedParameters() { - return XmlWriter.Create(filePath, new XmlWriterSettings - { - Indent = true, - ConformanceLevel = ConformanceLevel.Fragment - }); + // Setup + var configuration = new WaveReductionConfiguration(); + + var mocks = new MockRepository(); + var xmlWriter = mocks.StrictMock(); + xmlWriter.Expect(w => w.WriteWaveReduction(configuration)); + mocks.ReplayAll(); + + // Call + ExposedCalculationConfigurationWriter.PublicWriteWaveReductionWhenAvailable( + xmlWriter, + configuration); + + // Assert + mocks.VerifyAll(); } private static IEnumerable GetCalculationConfigurations() { - var calculation1 = new TestCalculation("calculation1"); - var calculation2 = new TestCalculation("calculation2"); - - var calculationGroup1 = new CalculationGroup("group1", false); - var calculationGroup2 = new CalculationGroup("group2", false) + var calculation1 = new TestConfigurationItem { - Children = - { - calculation2, - calculationGroup1 - } + Name = "calculation1" }; + var calculation2 = new TestConfigurationItem + { + Name = "calculation2" + }; + var calculationGroup1 = new CalculationGroupConfiguration("group1", Enumerable.Empty()); + var calculationGroup2 = new CalculationGroupConfiguration("group2", new IConfigurationItem[] + { + calculation2, + calculationGroup1 + }); + yield return new TestCaseData( new[] { @@ -420,48 +445,56 @@ "singleCalculation.xml") .SetName("Single calculation"); yield return new TestCaseData( - new ICalculationBase[] + new IConfigurationItem[] { calculationGroup1, calculation1 }, "calculationGroupAndCalculation.xml") .SetName("Calculation group and calculation"); yield return new TestCaseData( - new ICalculationBase[] + new IConfigurationItem[] { calculation1, calculationGroup2 }, "calculationAndGroupWithNesting.xml") .SetName("Calculation and group with nesting"); } - } - public class TestCalculationConfigurationWriter : CalculationConfigurationWriter - { - public const string CalculationElementTag = "calculation"; - - public void PublicWriteDistributions(IDictionary distributions, XmlWriter writer) + protected override TestCalculationConfigurationWriter CreateWriterInstance(string filePath) { - WriteDistributions(distributions, writer); + return new TestCalculationConfigurationWriter(filePath); } - public void PublicWriteVariationCoefficientDistributions( - IDictionary distributions, - XmlWriter writer) + private class ExposedCalculationConfigurationWriter : CalculationConfigurationWriter { - WriteVariationCoefficientDistributions(distributions, writer); - } + public ExposedCalculationConfigurationWriter(string filePath) : base(filePath) {} - public void PublicWriteBreakWaterProperties(BreakWater breakWater, XmlWriter writer) - { - WriteBreakWaterProperties(breakWater, writer); - } + public static void PublicWriteDistributionWhenAvailable(XmlWriter writer, string distributionName, StochastConfiguration configuration) + { + WriteDistributionWhenAvailable(writer, distributionName, configuration); + } - protected override void WriteCalculation(TestCalculation calculation, XmlWriter writer) - { - writer.WriteElementString(CalculationElementTag, calculation.Name); + public static void PublicWriteElementWhenContentAvailable(XmlWriter writer, string elementName, string elementContent) + { + WriteElementWhenContentAvailable(writer, elementName, elementContent); + } + + public static void PublicWriteElementWhenContentAvailable(XmlWriter writer, string elementName, double? elementContent) + { + WriteElementWhenContentAvailable(writer, elementName, elementContent); + } + + public static void PublicWriteWaveReductionWhenAvailable(XmlWriter writer, WaveReductionConfiguration configuration) + { + WriteWaveReductionWhenAvailable(writer, configuration); + } + + protected override void WriteCalculation(TestConfigurationItem calculation, XmlWriter writer) + { + throw new NotImplementedException(); + } } } } \ No newline at end of file Fisheye: Tag e507c88f2863ff7bc93505caf71c5f8025fb48c0 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/SchemaCalculationConfigurationExporterTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e507c88f2863ff7bc93505caf71c5f8025fb48c0 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Export/SchemaCalculationConfigurationWriterTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj =================================================================== diff -u -r8c97f59adda15f1eb2a4550a06d2f7fb8bee91bf -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj (.../Ringtoets.Common.IO.Test.csproj) (revision 8c97f59adda15f1eb2a4550a06d2f7fb8bee91bf) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj (.../Ringtoets.Common.IO.Test.csproj) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -69,14 +69,13 @@ - + - @@ -114,7 +113,6 @@ - Index: Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationExporterDesignGuidelinesTestFixture.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -23,21 +23,22 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Reflection; using System.Security.AccessControl; using System.Text; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.IO.Configurations; using Ringtoets.Common.IO.Configurations.Export; namespace Ringtoets.Common.IO.TestUtil { [TestFixture] - public abstract class CustomCalculationConfigurationExporterDesignGuidelinesTestFixture + public abstract class CustomCalculationConfigurationExporterDesignGuidelinesTestFixture where TCalculation : class, ICalculation - where TWriter : CalculationConfigurationWriter, new() - where TCalculationConfigurationExporter : CalculationConfigurationExporter + where TWriter : CalculationConfigurationWriter + where TConfiguration : class, IConfigurationItem + where TCalculationConfigurationExporter : CalculationConfigurationExporter { [Test] public void Constructor_ConfigurationNull_ThrowArgumentNullException() @@ -46,9 +47,8 @@ TestDelegate test = () => CallConfigurationFilePathConstructor(null, "test.xml"); // Assert - var activatorException = Assert.Throws(test); - var exception = (ArgumentNullException) activatorException.InnerException; - AssertNullConfiguration(exception); + var exception = Assert.Throws(test); + AssertNullCalculations(exception); } [Test] @@ -59,8 +59,7 @@ TestDelegate test = () => CallConfigurationFilePathConstructor(Enumerable.Empty(), filePath); // Assert - var activatorException = Assert.Throws(test); - var exception = (ArgumentException) activatorException.InnerException; + var exception = Assert.Throws(test); AssertInvalidFilePath(exception); } @@ -140,16 +139,16 @@ }; } - protected virtual void AssertNullConfiguration(ArgumentNullException exception) + protected virtual void AssertNullCalculations(ArgumentNullException exception) { Assert.IsNotNull(exception); Assert.IsInstanceOf(exception); - Assert.AreEqual("configuration", exception.ParamName); + Assert.AreEqual("calculations", exception.ParamName); } protected virtual void AssertDefaultConstructedInstance(TCalculationConfigurationExporter exporter) { - Assert.IsInstanceOf>(exporter); + Assert.IsInstanceOf>(exporter); } protected virtual void AssertInvalidFilePath(ArgumentException exception) @@ -185,10 +184,6 @@ protected abstract TCalculation CreateCalculation(); - private static TCalculationConfigurationExporter CallConfigurationFilePathConstructor( - IEnumerable configuration, string filePath) - { - return (TCalculationConfigurationExporter) Activator.CreateInstance(typeof(TCalculationConfigurationExporter), configuration, filePath); - } + protected abstract TCalculationConfigurationExporter CallConfigurationFilePathConstructor(IEnumerable calculations, string filePath); } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs =================================================================== diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1) +++ Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs (.../CustomCalculationConfigurationWriterDesignGuidelinesTestFixture.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -26,97 +26,123 @@ using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; -using Ringtoets.Common.Data.Calculation; +using Rhino.Mocks; +using Ringtoets.Common.IO.Configurations; using Ringtoets.Common.IO.Configurations.Export; namespace Ringtoets.Common.IO.TestUtil { [TestFixture] - public abstract class CustomCalculationConfigurationWriterDesignGuidelinesTestFixture - where TCalculation : class, ICalculation - where TWriter : CalculationConfigurationWriter, new() + public abstract class CustomCalculationConfigurationWriterDesignGuidelinesTestFixture + where TConfiguration : class, IConfigurationItem + where TWriter : CalculationConfigurationWriter { [Test] - public void Constructor_ExpectedValues() + public void Write_CalculationOfTypeOtherThanGiven_ThrowsCriticalFileWriteExceptionWithInnerArgumentException() { + // Setup + var mocks = new MockRepository(); + var calculation = mocks.Stub(); + mocks.ReplayAll(); + + string filePath = TestHelper.GetScratchPadPath("test.xml"); + + try + { + TWriter writer = CreateWriterInstance(filePath); + + // Call + TestDelegate test = () => writer.Write(new[] + { + calculation + }); + + // Assert + var exception = Assert.Throws(test); + Exception innerException = exception.InnerException; + Assert.IsNotNull(innerException); + Assert.AreEqual($"Cannot write calculation of type '{calculation.GetType()}' using this writer.", innerException.Message); + } + finally + { + File.Delete(filePath); + } + mocks.VerifyAll(); + } + + [Test] + public void Constructor_WithoutFilePath_ThrowsArgumentException() + { // Call - var writer = new TWriter(); + TestDelegate call = () => CreateWriterInstance(null); // Assert - AssertDefaultConstructedInstance(writer); + AssertNullFilePath(Assert.Throws(call)); } [Test] - public void Write_ConfigurationNull_ThrowArgumentNullException() + [TestCaseSource(typeof(InvalidPathHelper), nameof(InvalidPathHelper.InvalidPaths))] + public void Constructor_WithoutValidFilePath_ThrowsArgumentException(string filePath) { - // Setup - var writer = new TWriter(); - // Call - TestDelegate test = () => writer.Write(null, string.Empty); + TestDelegate call = () => CreateWriterInstance(filePath); // Assert - var exception = Assert.Throws(test); - AssertNullConfiguration(exception); + Assert.Throws(call); } [Test] - public void Write_FilePathNull_ThrowArgumentNullException() + public void Write_FilePathTooLong_ThrowCriticalFileWriteException() { // Setup - var writer = new TWriter(); + var filePath = new string('a', 249); + TWriter writerInstance = CreateWriterInstance(filePath); // Call - TestDelegate test = () => writer.Write(Enumerable.Empty(), null); + TestDelegate call = () => writerInstance.Write(Enumerable.Empty()); // Assert - var exception = Assert.Throws(test); - AssertNullFilePath(exception); + var exception = Assert.Throws(call); + AssertTooLongPath(exception, filePath); } [Test] - [TestCaseSource(typeof(InvalidPathHelper), nameof(InvalidPathHelper.InvalidPaths))] - public void Write_FilePathInvalid_ThrowCriticalFileWriteException(string filePath) + public void Constructor_ExpectedValues() { - // Setup - var writer = new TWriter(); - // Call - TestDelegate call = () => writer.Write(Enumerable.Empty(), filePath); + TWriter writer = CreateWriterInstance("//validpath"); // Assert - var exception = Assert.Throws(call); - AssertInvalidFilePath(exception, filePath); + AssertDefaultConstructedInstance(writer); } [Test] - public void Write_FilePathTooLong_ThrowCriticalFileWriteException() + public void Write_ConfigurationNull_ThrowArgumentNullException() { // Setup - var filePath = new string('a', 249); - var writer = new TWriter(); + TWriter writer = CreateWriterInstance("//validpath"); // Call - TestDelegate call = () => writer.Write(Enumerable.Empty(), filePath); + TestDelegate test = () => writer.Write(null); // Assert - var exception = Assert.Throws(call); - AssertTooLongPath(exception, filePath); + var exception = Assert.Throws(test); + AssertNullConfiguration(exception); } [Test] 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); + TWriter writer = CreateWriterInstance(filePath); // Call - TestDelegate call = () => writer.Write(Enumerable.Empty(), filePath); + TestDelegate call = () => writer.Write(Enumerable.Empty()); // Assert var exception = Assert.Throws(call); @@ -129,24 +155,26 @@ { // Setup string path = TestHelper.GetScratchPadPath(nameof(Write_FileInUse_ThrowCriticalFileWriteException)); - var writer = new TWriter(); using (var fileDisposeHelper = new FileDisposeHelper(path)) { fileDisposeHelper.LockFiles(); + TWriter writer = CreateWriterInstance(path); // Call - TestDelegate call = () => writer.Write(Enumerable.Empty(), path); + TestDelegate call = () => writer.Write(Enumerable.Empty()); // Assert var exception = Assert.Throws(call); AssertFileInUse(exception, path); } } + protected abstract TWriter CreateWriterInstance(string filePath); + protected virtual void AssertDefaultConstructedInstance(TWriter writer) { - Assert.IsInstanceOf>(writer); + Assert.IsInstanceOf>(writer); } protected virtual void AssertNullConfiguration(ArgumentNullException exception) @@ -155,18 +183,11 @@ Assert.AreEqual("configuration", exception.ParamName); } - protected virtual void AssertNullFilePath(ArgumentNullException exception) + protected virtual void AssertNullFilePath(ArgumentException exception) { Assert.IsNotNull(exception); - Assert.AreEqual("filePath", exception.ParamName); } - protected virtual void AssertInvalidFilePath(CriticalFileWriteException exception, string filePath) - { - Assert.IsNotNull(exception); - Assert.AreEqual($"Er is een onverwachte fout opgetreden tijdens het schrijven van het bestand '{filePath}'.", exception.Message); - } - protected virtual void AssertTooLongPath(CriticalFileWriteException exception, string filePath) { Assert.IsNotNull(exception); Fisheye: Tag e507c88f2863ff7bc93505caf71c5f8025fb48c0 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e507c88f2863ff7bc93505caf71c5f8025fb48c0 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/Ringtoets.Common.IO.TestUtil.csproj =================================================================== diff -u -r1aa72eb5c37e0d4f92b247f0189b8e9435f6677b -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/Ringtoets.Common.IO.TestUtil.csproj (.../Ringtoets.Common.IO.TestUtil.csproj) (revision 1aa72eb5c37e0d4f92b247f0189b8e9435f6677b) +++ Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/Ringtoets.Common.IO.TestUtil.csproj (.../Ringtoets.Common.IO.TestUtil.csproj) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -50,14 +50,12 @@ Properties\GlobalAssembly.cs - - - + Index: Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/TestCalculationConfigurationWriter.cs =================================================================== diff -u --- Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/TestCalculationConfigurationWriter.cs (revision 0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/TestCalculationConfigurationWriter.cs (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -0,0 +1,47 @@ +// Copyright (C) Stichting Deltares 2017. 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.Xml; +using Ringtoets.Common.IO.Configurations.Export; + +namespace Ringtoets.Common.IO.TestUtil +{ + /// + /// Simple that can be used for testing purposes. + /// + public class TestCalculationConfigurationWriter : CalculationConfigurationWriter + { + private const string calculationElementTag = "calculation"; + + /// + /// Creates a new instance of + /// + /// The path of the file to write to. + /// Thrown when is invalid. + public TestCalculationConfigurationWriter(string filePath) : base(filePath) {} + + protected override void WriteCalculation(TestConfigurationItem calculation, XmlWriter writer) + { + writer.WriteElementString(calculationElementTag, calculation.Name); + } + } +} \ No newline at end of file Fisheye: Tag e507c88f2863ff7bc93505caf71c5f8025fb48c0 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.IO.TestUtil/TestSchemaCalculationConfigurationWriter.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporter.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -35,7 +35,7 @@ /// Exports a grass cover erosion inwards calculation configuration and stores it as an XML file. /// public class GrassCoverErosionInwardsCalculationConfigurationExporter - : SchemaCalculationConfigurationExporter< + : CalculationConfigurationExporter< GrassCoverErosionInwardsCalculationConfigurationWriter, GrassCoverErosionInwardsCalculation, GrassCoverErosionInwardsCalculationConfiguration> Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriter.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriter.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriter.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriter.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -30,7 +30,7 @@ /// /// Writer for writing a grass cover erosion inwards calculation configuration to XML. /// - public class GrassCoverErosionInwardsCalculationConfigurationWriter : SchemaCalculationConfigurationWriter + public class GrassCoverErosionInwardsCalculationConfigurationWriter : CalculationConfigurationWriter { /// /// Creates a new instance of . Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporterTest.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporterTest.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -32,7 +32,7 @@ { [TestFixture] public class GrassCoverErosionInwardsCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< GrassCoverErosionInwardsCalculationConfigurationExporter, GrassCoverErosionInwardsCalculationConfigurationWriter, GrassCoverErosionInwardsCalculation, Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/Configurations/GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs (.../GrassCoverErosionInwardsCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -30,7 +30,7 @@ { [TestFixture] public class GrassCoverErosionInwardsCalculationConfigurationWriterTest - : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< GrassCoverErosionInwardsCalculationConfigurationWriter, GrassCoverErosionInwardsCalculationConfiguration> { Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporter.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionOutwardsCalculationConfigurationExporter.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionOutwardsCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -34,7 +34,7 @@ /// Exports a grass cover erosion outwards calculation configuration and stores it as an XML file. /// public class GrassCoverErosionOutwardsCalculationConfigurationExporter - : SchemaCalculationConfigurationExporter + : CalculationConfigurationExporter { /// /// Creates a new instance of . Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporterTest.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporterTest.cs (.../GrassCoverErosionOutwardsCalculationConfigurationExporterTest.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Exporters/GrassCoverErosionOutwardsCalculationConfigurationExporterTest.cs (.../GrassCoverErosionOutwardsCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -35,7 +35,7 @@ { [TestFixture] public class GrassCoverErosionOutwardsCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< GrassCoverErosionOutwardsCalculationConfigurationExporter, WaveConditionsCalculationConfigurationWriter, GrassCoverErosionOutwardsWaveConditionsCalculation, Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/Configurations/HeightStructuresCalculationConfigurationExporter.cs =================================================================== diff -u -r44ee3fe251adc2191beb743080ebd4433c12c0e9 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/Configurations/HeightStructuresCalculationConfigurationExporter.cs (.../HeightStructuresCalculationConfigurationExporter.cs) (revision 44ee3fe251adc2191beb743080ebd4433c12c0e9) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.IO/Configurations/HeightStructuresCalculationConfigurationExporter.cs (.../HeightStructuresCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -32,7 +32,7 @@ /// /// Exports a height structures calculation configuration and stores it as an XML file. /// - public class HeightStructuresCalculationConfigurationExporter : SchemaCalculationConfigurationExporter< + public class HeightStructuresCalculationConfigurationExporter : CalculationConfigurationExporter< HeightStructuresCalculationConfigurationWriter, StructuresCalculation, HeightStructuresCalculationConfiguration> Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/Configurations/HeightStructuresCalculationConfigurationExporterTest.cs =================================================================== diff -u -r4bf59bb3506b840b284efe0c0f4431b7876e0e5b -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/Configurations/HeightStructuresCalculationConfigurationExporterTest.cs (.../HeightStructuresCalculationConfigurationExporterTest.cs) (revision 4bf59bb3506b840b284efe0c0f4431b7876e0e5b) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/Configurations/HeightStructuresCalculationConfigurationExporterTest.cs (.../HeightStructuresCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -38,7 +38,7 @@ { [TestFixture] public class HeightStructuresCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< HeightStructuresCalculationConfigurationExporter, HeightStructuresCalculationConfigurationWriter, StructuresCalculation, Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/Configurations/HeightStructuresCalculationConfigurationWriterTest.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/Configurations/HeightStructuresCalculationConfigurationWriterTest.cs (.../HeightStructuresCalculationConfigurationWriterTest.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/Configurations/HeightStructuresCalculationConfigurationWriterTest.cs (.../HeightStructuresCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -32,7 +32,7 @@ { [TestFixture] public class HeightStructuresCalculationConfigurationWriterTest - : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< HeightStructuresCalculationConfigurationWriter, HeightStructuresCalculationConfiguration> { Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs =================================================================== diff -u -r5a34759978bfb0c2982463f8f8c2adfc29b1c666 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision 5a34759978bfb0c2982463f8f8c2adfc29b1c666) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -30,7 +30,7 @@ /// /// Exports a macro stability inwards calculation configuration and stores it as an XML file. /// - public class MacroStabilityInwardsCalculationConfigurationExporter : SchemaCalculationConfigurationExporter< + public class MacroStabilityInwardsCalculationConfigurationExporter : CalculationConfigurationExporter< MacroStabilityInwardsCalculationConfigurationWriter, MacroStabilityInwardsCalculation, MacroStabilityInwardsCalculationConfiguration> Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs =================================================================== diff -u -r5a34759978bfb0c2982463f8f8c2adfc29b1c666 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision 5a34759978bfb0c2982463f8f8c2adfc29b1c666) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -30,7 +30,7 @@ /// /// Writer for writing a macro stability inwards calculation configuration to XML. /// - public class MacroStabilityInwardsCalculationConfigurationWriter : SchemaCalculationConfigurationWriter + public class MacroStabilityInwardsCalculationConfigurationWriter : CalculationConfigurationWriter { /// /// Creates a new instance of . Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationExporterTest.cs =================================================================== diff -u -r5a34759978bfb0c2982463f8f8c2adfc29b1c666 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationExporterTest.cs (.../MacroStabilityInwardsCalculationConfigurationExporterTest.cs) (revision 5a34759978bfb0c2982463f8f8c2adfc29b1c666) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationExporterTest.cs (.../MacroStabilityInwardsCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -35,7 +35,7 @@ { [TestFixture] public class MacroStabilityInwardsCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< MacroStabilityInwardsCalculationConfigurationExporter, MacroStabilityInwardsCalculationConfigurationWriter, MacroStabilityInwardsCalculation, Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs =================================================================== diff -u -r5a34759978bfb0c2982463f8f8c2adfc29b1c666 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs (.../MacroStabilityInwardsCalculationConfigurationWriterTest.cs) (revision 5a34759978bfb0c2982463f8f8c2adfc29b1c666) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Configurations/MacroStabilityInwardsCalculationConfigurationWriterTest.cs (.../MacroStabilityInwardsCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -32,7 +32,7 @@ { [TestFixture] public class MacroStabilityInwardsCalculationConfigurationWriterTest - : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< MacroStabilityInwardsCalculationConfigurationWriter, MacroStabilityInwardsCalculationConfiguration> { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -31,7 +31,7 @@ /// /// Exports a piping calculation configuration and stores it as an XML file. /// - public class PipingCalculationConfigurationExporter : SchemaCalculationConfigurationExporter + public class PipingCalculationConfigurationExporter : CalculationConfigurationExporter { /// /// Creates a new instance of . Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs =================================================================== diff -u -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Configurations/PipingCalculationConfigurationWriter.cs (.../PipingCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -29,7 +29,7 @@ /// /// Writer for writing a piping calculation configuration to XML. /// - public class PipingCalculationConfigurationWriter : SchemaCalculationConfigurationWriter + public class PipingCalculationConfigurationWriter : CalculationConfigurationWriter { /// /// Creates a new instance of . Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationExporterTest.cs =================================================================== diff -u -r5a34759978bfb0c2982463f8f8c2adfc29b1c666 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationExporterTest.cs (.../PipingCalculationConfigurationExporterTest.cs) (revision 5a34759978bfb0c2982463f8f8c2adfc29b1c666) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationExporterTest.cs (.../PipingCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -36,7 +36,7 @@ { [TestFixture] public class PipingCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< PipingCalculationConfigurationExporter, PipingCalculationConfigurationWriter, PipingCalculation, Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs =================================================================== diff -u -r5a34759978bfb0c2982463f8f8c2adfc29b1c666 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision 5a34759978bfb0c2982463f8f8c2adfc29b1c666) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Configurations/PipingCalculationConfigurationWriterTest.cs (.../PipingCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -32,7 +32,7 @@ { [TestFixture] public class PipingCalculationConfigurationWriterTest - : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< PipingCalculationConfigurationWriter, PipingCalculationConfiguration> { Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationWriter.cs (.../WaveConditionsCalculationConfigurationWriter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -33,7 +33,7 @@ /// to XML format. /// /// The type of calculations that are written to file. - public class WaveConditionsCalculationConfigurationWriter : SchemaCalculationConfigurationWriter + public class WaveConditionsCalculationConfigurationWriter : CalculationConfigurationWriter { private readonly ConfigurationWaveConditionsInputStepSizeConverter configurationWaveConditionsInputStepSizeConverter; Index: Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs (.../WaveConditionsCalculationConfigurationWriterTest.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/test/Ringtoets.Revetment.IO.Test/Configurations/WaveConditionsCalculationConfigurationWriterTest.cs (.../WaveConditionsCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -37,7 +37,7 @@ { [TestFixture] public class WaveConditionsCalculationConfigurationWriterTest - : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< WaveConditionsCalculationConfigurationWriter, WaveConditionsCalculationConfiguration> { Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/Configurations/StabilityPointStructuresCalculationConfigurationExporter.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/Configurations/StabilityPointStructuresCalculationConfigurationExporter.cs (.../StabilityPointStructuresCalculationConfigurationExporter.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.IO/Configurations/StabilityPointStructuresCalculationConfigurationExporter.cs (.../StabilityPointStructuresCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -33,7 +33,7 @@ /// /// Exports a stability point structures calculation configuration and stores it as an XML file. /// - public class StabilityPointStructuresCalculationConfigurationExporter : SchemaCalculationConfigurationExporter< + public class StabilityPointStructuresCalculationConfigurationExporter : CalculationConfigurationExporter< StabilityPointStructuresCalculationConfigurationWriter, StructuresCalculation, StabilityPointStructuresCalculationConfiguration> Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Configurations/StabilityPointStructuresCalculationConfigurationExporterTest.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Configurations/StabilityPointStructuresCalculationConfigurationExporterTest.cs (.../StabilityPointStructuresCalculationConfigurationExporterTest.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Configurations/StabilityPointStructuresCalculationConfigurationExporterTest.cs (.../StabilityPointStructuresCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -38,7 +38,7 @@ { [TestFixture] public class StabilityPointStructuresCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< StabilityPointStructuresCalculationConfigurationExporter, StabilityPointStructuresCalculationConfigurationWriter, StructuresCalculation, Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Configurations/StabilityPointStructuresCalculationConfigurationWriterTest.cs =================================================================== diff -u -r9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Configurations/StabilityPointStructuresCalculationConfigurationWriterTest.cs (.../StabilityPointStructuresCalculationConfigurationWriterTest.cs) (revision 9f8c8ff1cd49a1764ff3dde12eea6be35d9c34a7) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/Configurations/StabilityPointStructuresCalculationConfigurationWriterTest.cs (.../StabilityPointStructuresCalculationConfigurationWriterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -32,7 +32,7 @@ { [TestFixture] public class StabilityPointStructuresCalculationConfigurationWriterTest - : CustomSchemaCalculationConfigurationWriterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationWriterDesignGuidelinesTestFixture< StabilityPointStructuresCalculationConfigurationWriter, StabilityPointStructuresCalculationConfiguration> { Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.IO/Exporters/StabilityStoneCoverCalculationConfigurationExporter.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.IO/Exporters/StabilityStoneCoverCalculationConfigurationExporter.cs (.../StabilityStoneCoverCalculationConfigurationExporter.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.IO/Exporters/StabilityStoneCoverCalculationConfigurationExporter.cs (.../StabilityStoneCoverCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -33,7 +33,7 @@ /// Exports a stability stone cover calculation configuration and stores it as an XML file. /// public class StabilityStoneCoverCalculationConfigurationExporter - : SchemaCalculationConfigurationExporter + : CalculationConfigurationExporter { /// /// Creates a new instance of . Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.IO.Test/Exporters/StabilityStoneCoverCalculationConfigurationExporterTest.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.IO.Test/Exporters/StabilityStoneCoverCalculationConfigurationExporterTest.cs (.../StabilityStoneCoverCalculationConfigurationExporterTest.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.IO.Test/Exporters/StabilityStoneCoverCalculationConfigurationExporterTest.cs (.../StabilityStoneCoverCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -35,7 +35,7 @@ { [TestFixture] public class StabilityStoneCoverCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< StabilityStoneCoverCalculationConfigurationExporter, WaveConditionsCalculationConfigurationWriter, StabilityStoneCoverWaveConditionsCalculation, Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.IO/Exporters/WaveImpactAsphaltCoverCalculationConfigurationExporter.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.IO/Exporters/WaveImpactAsphaltCoverCalculationConfigurationExporter.cs (.../WaveImpactAsphaltCoverCalculationConfigurationExporter.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.IO/Exporters/WaveImpactAsphaltCoverCalculationConfigurationExporter.cs (.../WaveImpactAsphaltCoverCalculationConfigurationExporter.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -33,7 +33,7 @@ /// Exports a wave impact asphalt cover calculation configuration and stores it as an XML file. /// public class WaveImpactAsphaltCoverCalculationConfigurationExporter - : SchemaCalculationConfigurationExporter + : CalculationConfigurationExporter { /// /// Creates a new instance of . Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.IO.Test/Exporters/WaveImpactAsphaltCoverCalculationConfigurationExporterTest.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -re507c88f2863ff7bc93505caf71c5f8025fb48c0 --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.IO.Test/Exporters/WaveImpactAsphaltCoverCalculationConfigurationExporterTest.cs (.../WaveImpactAsphaltCoverCalculationConfigurationExporterTest.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.IO.Test/Exporters/WaveImpactAsphaltCoverCalculationConfigurationExporterTest.cs (.../WaveImpactAsphaltCoverCalculationConfigurationExporterTest.cs) (revision e507c88f2863ff7bc93505caf71c5f8025fb48c0) @@ -35,7 +35,7 @@ { [TestFixture] public class WaveImpactAsphaltCoverCalculationConfigurationExporterTest - : CustomSchemaCalculationConfigurationExporterDesignGuidelinesTestFixture< + : CustomCalculationConfigurationExporterDesignGuidelinesTestFixture< WaveImpactAsphaltCoverCalculationConfigurationExporter, WaveConditionsCalculationConfigurationWriter, WaveImpactAsphaltCoverWaveConditionsCalculation,