Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Writers/CalculationConfigurationWriterTest.cs =================================================================== diff -u -rb2288a6eae1568001c17d9ce7aaa5521a44595f2 -r7ce0229b2d4293c464479e448b092c7f83eb94c3 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Writers/CalculationConfigurationWriterTest.cs (.../CalculationConfigurationWriterTest.cs) (revision b2288a6eae1568001c17d9ce7aaa5521a44595f2) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Writers/CalculationConfigurationWriterTest.cs (.../CalculationConfigurationWriterTest.cs) (revision 7ce0229b2d4293c464479e448b092c7f83eb94c3) @@ -47,7 +47,7 @@ public void WriteDistribution_WithoutDistributions_ArgumentNullException() { // Setup - string filePath = TestHelper.GetScratchPadPath("test_distributions_write.xml"); + string filePath = TestHelper.GetScratchPadPath(nameof(WriteDistribution_WithoutDistributions_ArgumentNullException)); try { @@ -74,7 +74,7 @@ public void WriteDistribution_EmptyDistributions_NothingWrittenToFile() { // Setup - string filePath = TestHelper.GetScratchPadPath("test_distributions_write.xml"); + string filePath = TestHelper.GetScratchPadPath(nameof(WriteDistribution_EmptyDistributions_NothingWrittenToFile)); try { @@ -101,7 +101,7 @@ public void WriteDistribution_WithDistributions_WritesEachDistributionAsElement() { // Setup - string filePath = TestHelper.GetScratchPadPath("test_distributions_write.xml"); + string filePath = TestHelper.GetScratchPadPath(nameof(WriteDistribution_WithDistributions_WritesEachDistributionAsElement)); string expectedXmlFilePath = TestHelper.GetTestDataPath( TestDataPath.Ringtoets.Common.IO, Path.Combine(nameof(CalculationConfigurationWriter), "distributions.xml")); @@ -145,8 +145,113 @@ File.Delete(filePath); } } + [Test] + public void WriteVariationCoefficientDistribution_WithoutVariationCoefficientDistributions_ArgumentNullException() + { + // Setup + string filePath = TestHelper.GetScratchPadPath( + nameof(WriteVariationCoefficientDistribution_WithoutVariationCoefficientDistributions_ArgumentNullException)); + try + { + using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) + { + var writer = new SimpleCalculationConfigurationWriter(); + + // Call + Assert.Throws(() => writer.PublicWriteDistributions(null, xmlWriter)); + } + + // Assert + string actualXml = File.ReadAllText(filePath); + + Assert.IsEmpty(actualXml); + } + finally + { + File.Delete(filePath); + } + } + [Test] + public void WriteVariationCoefficientDistribution_EmptyVariationCoefficientDistributions_NothingWrittenToFile() + { + // Setup + string filePath = TestHelper.GetScratchPadPath( + nameof(WriteVariationCoefficientDistribution_EmptyVariationCoefficientDistributions_NothingWrittenToFile)); + + try + { + using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) + { + var writer = new SimpleCalculationConfigurationWriter(); + + // Call + writer.PublicWriteDistributions(new Dictionary(), xmlWriter); + } + + // Assert + string actualXml = File.ReadAllText(filePath); + + Assert.IsEmpty(actualXml); + } + finally + { + File.Delete(filePath); + } + } + + [Test] + public void WriteVariationCoefficientDistribution_WithVariationCoefficientDistributions_WritesEachDistributionAsElement() + { + // Setup + string filePath = TestHelper.GetScratchPadPath( + nameof(WriteVariationCoefficientDistribution_WithVariationCoefficientDistributions_WritesEachDistributionAsElement)); + string expectedXmlFilePath = TestHelper.GetTestDataPath( + TestDataPath.Ringtoets.Common.IO, + Path.Combine(nameof(CalculationConfigurationWriter), "variationCoefficientDistributions.xml")); + + 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 + } + } + }; + + try + { + using (XmlWriter xmlWriter = CreateXmlWriter(filePath)) + { + var writer = new SimpleCalculationConfigurationWriter(); + + // Call + writer.PublicWriteVariationCoefficientDistributions(distributions, xmlWriter); + } + + // Assert + string actualXml = File.ReadAllText(filePath); + string expectedXml = File.ReadAllText(expectedXmlFilePath); + + Assert.AreEqual(expectedXml, actualXml); + } + finally + { + File.Delete(filePath); + } + } + + [Test] public void WriteBreakWaterProperties_BreakWaterNull_NothingWrittenToFile() { // Setup @@ -340,6 +445,12 @@ { WriteDistributions(distributions, writer); } + public void PublicWriteVariationCoefficientDistributions( + IDictionary distributions, + XmlWriter writer) + { + WriteVariationCoefficientDistributions(distributions, writer); + } public void PublicWriteBreakWaterProperties(BreakWater breakWater, XmlWriter writer) {