Index: Ringtoets/Common/src/Ringtoets.Common.IO/Exporters/ConfigurationExporter.cs
===================================================================
diff -u -r00a4b6318d0d1ae57df5ef362ba1e8908aa330be -rae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e
--- Ringtoets/Common/src/Ringtoets.Common.IO/Exporters/ConfigurationExporter.cs (.../ConfigurationExporter.cs) (revision 00a4b6318d0d1ae57df5ef362ba1e8908aa330be)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/Exporters/ConfigurationExporter.cs (.../ConfigurationExporter.cs) (revision ae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e)
@@ -70,7 +70,7 @@
}
catch (CriticalFileWriteException e)
{
- log.ErrorFormat(Resources.ConfigurationExporter_Export_Error_exception_0_no_configuration_exported, e.Message);
+ log.ErrorFormat(Resources.ConfigurationExporter_Export_Exception_0_no_configuration_exported, e.Message);
return false;
}
Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs
===================================================================
diff -u -r5735c9b5c663a0bc7762d1b1eb1483e5c4cfe526 -rae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e
--- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 5735c9b5c663a0bc7762d1b1eb1483e5c4cfe526)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e)
@@ -106,9 +106,9 @@
///
/// Looks up a localized string similar to {0} Er is geen configuratie geƫxporteerd..
///
- public static string ConfigurationExporter_Export_Error_exception_0_no_configuration_exported {
+ public static string ConfigurationExporter_Export_Exception_0_no_configuration_exported {
get {
- return ResourceManager.GetString("ConfigurationExporter_Export_Error_exception_0_no_configuration_exported", resourceCulture);
+ return ResourceManager.GetString("ConfigurationExporter_Export_Exception_0_no_configuration_exported", resourceCulture);
}
}
Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx
===================================================================
diff -u -r5735c9b5c663a0bc7762d1b1eb1483e5c4cfe526 -rae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e
--- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 5735c9b5c663a0bc7762d1b1eb1483e5c4cfe526)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision ae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e)
@@ -513,7 +513,7 @@
Valideren van ingelezen data.
-
+
{0} Er is geen configuratie geƫxporteerd.
Index: Ringtoets/Common/src/Ringtoets.Common.IO/Writers/CalculationConfigurationWriter.cs
===================================================================
diff -u -r020439f88aaed9dd51967acbc8518f37c95791d1 -rae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e
--- Ringtoets/Common/src/Ringtoets.Common.IO/Writers/CalculationConfigurationWriter.cs (.../CalculationConfigurationWriter.cs) (revision 020439f88aaed9dd51967acbc8518f37c95791d1)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/Writers/CalculationConfigurationWriter.cs (.../CalculationConfigurationWriter.cs) (revision ae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e)
@@ -153,6 +153,8 @@
{
WriteCalculation(calculation, writer);
}
+
+ throw new ArgumentException($"Cannot write calculation of type '{child.GetType()}' using this writer.");
}
}
Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Writers/CalculationConfigurationWriterTest.cs
===================================================================
diff -u -r020439f88aaed9dd51967acbc8518f37c95791d1 -rae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e
--- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Writers/CalculationConfigurationWriterTest.cs (.../CalculationConfigurationWriterTest.cs) (revision 020439f88aaed9dd51967acbc8518f37c95791d1)
+++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Writers/CalculationConfigurationWriterTest.cs (.../CalculationConfigurationWriterTest.cs) (revision ae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e)
@@ -29,6 +29,7 @@
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;
@@ -96,8 +97,9 @@
public void Write_InvalidDirectoryRights_ThrowCriticalFileWriteException()
{
// Setup
- string directoryPath = TestHelper.GetScratchPadPath(nameof(Write_InvalidDirectoryRights_ThrowCriticalFileWriteException));
- using (var disposeHelper = new DirectoryDisposeHelper(TestHelper.GetScratchPadPath(), nameof(Write_InvalidDirectoryRights_ThrowCriticalFileWriteException)))
+ const string testName = nameof(Write_InvalidDirectoryRights_ThrowCriticalFileWriteException);
+ string directoryPath = TestHelper.GetScratchPadPath(testName);
+ using (var disposeHelper = new DirectoryDisposeHelper(TestHelper.GetScratchPadPath(), testName))
{
string filePath = Path.Combine(directoryPath, "test.xml");
disposeHelper.LockDirectory(FileSystemRights.Write);
@@ -321,7 +323,38 @@
}
[Test]
- [TestCaseSource(nameof(CalculationConfigurations))]
+ public void Write_CalculationOfTypeOtherThanGiven_ThrowsCriticalFileWriteExceptionWithInnerArgumentException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var calculation = mocks.Stub();
+ mocks.ReplayAll();
+
+ string filePath = TestHelper.GetScratchPadPath("test.xml");
+
+ try
+ {
+ // Call
+ TestDelegate test = () => new SimpleCalculationConfigurationWriter().Write(new[]
+ {
+ calculation
+ }, filePath);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ var 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]
+ [TestCaseSource(nameof(GetCalculationConfigurations))]
public void Write_DifferentCalculationAndCalculationGroupConfigurations_ValidFile(IEnumerable configuration, string expectedFileContentsFileName)
{
// Setup
@@ -369,7 +402,7 @@
}
}
- private static IEnumerable CalculationConfigurations()
+ private static IEnumerable GetCalculationConfigurations()
{
var calculation1 = new TestCalculation("calculation1");
var calculation2 = new TestCalculation("calculation2");
Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Ringtoets.Revetment.IO.csproj
===================================================================
diff -u -r0e700dc5121b8f56c96d1d552056bbe6ebe29300 -rae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e
--- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Ringtoets.Revetment.IO.csproj (.../Ringtoets.Revetment.IO.csproj) (revision 0e700dc5121b8f56c96d1d552056bbe6ebe29300)
+++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Ringtoets.Revetment.IO.csproj (.../Ringtoets.Revetment.IO.csproj) (revision ae137e9d1b26f1b37e47f2b4a6bf9ae03c6c9b2e)
@@ -88,6 +88,7 @@
{52BA7627-CBAB-4209-BE77-3B5F31378277}
Ringtoets.Common.IO
+ False
{87C2C553-C0BC-40BF-B1EA-B83BFF357F27}