Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs
===================================================================
diff -u -r8cdbb1c76ccda6f711ec3bb02339896e7eb660c0 -rc71efcd328d420bd869028dd35d035ff02d98ec2
--- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 8cdbb1c76ccda6f711ec3bb02339896e7eb660c0)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision c71efcd328d420bd869028dd35d035ff02d98ec2)
@@ -2545,6 +2545,15 @@
}
///
+ /// Looks up a localized string similar to Er is een fout opgetreden bij het inlezen van grondlaag '{0}': {1}.
+ ///
+ public static string Transform_Error_occurred_when_transforming_SoilLayer_0_errorMessage_1 {
+ get {
+ return ResourceManager.GetString("Transform_Error_occurred_when_transforming_SoilLayer_0_errorMessage_1", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Ongeldige waarde voor parameter '{0}'..
///
public static string Transform_Invalid_value_ParameterName_0 {
Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx
===================================================================
diff -u -r8cdbb1c76ccda6f711ec3bb02339896e7eb660c0 -rc71efcd328d420bd869028dd35d035ff02d98ec2
--- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 8cdbb1c76ccda6f711ec3bb02339896e7eb660c0)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision c71efcd328d420bd869028dd35d035ff02d98ec2)
@@ -880,4 +880,7 @@
Parameter '{0}' moet lognormaal verdeeld zijn met een verschuiving gelijk aan 0.
+
+ Er is een fout opgetreden bij het inlezen van grondlaag '{0}': {1}
+
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfiles/PipingSoilLayerTransformer.cs
===================================================================
diff -u -r8cdbb1c76ccda6f711ec3bb02339896e7eb660c0 -rc71efcd328d420bd869028dd35d035ff02d98ec2
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfiles/PipingSoilLayerTransformer.cs (.../PipingSoilLayerTransformer.cs) (revision 8cdbb1c76ccda6f711ec3bb02339896e7eb660c0)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfiles/PipingSoilLayerTransformer.cs (.../PipingSoilLayerTransformer.cs) (revision c71efcd328d420bd869028dd35d035ff02d98ec2)
@@ -52,18 +52,28 @@
throw new ArgumentNullException(nameof(soilLayer));
}
- ValidateStochasticParameters(soilLayer);
-
- var pipingSoilLayer = new PipingSoilLayer(soilLayer.Top)
+ try
{
- IsAquifer = TransformIsAquifer(soilLayer.IsAquifer),
- MaterialName = soilLayer.MaterialName,
- Color = SoilLayerColorConverter.Convert(soilLayer.Color)
- };
+ ValidateStochasticParameters(soilLayer);
- SetStochasticParameters(pipingSoilLayer, soilLayer);
+ var pipingSoilLayer = new PipingSoilLayer(soilLayer.Top)
+ {
+ IsAquifer = TransformIsAquifer(soilLayer.IsAquifer),
+ MaterialName = soilLayer.MaterialName,
+ Color = SoilLayerColorConverter.Convert(soilLayer.Color)
+ };
- return pipingSoilLayer;
+ SetStochasticParameters(pipingSoilLayer, soilLayer);
+
+ return pipingSoilLayer;
+ }
+ catch (ImportedDataTransformException e)
+ {
+ string errorMessage = string.Format(RingtoetsCommonIOResources.Transform_Error_occurred_when_transforming_SoilLayer_0_errorMessage_1,
+ soilLayer.MaterialName,
+ e.Message);
+ throw new ImportedDataTransformException(errorMessage, e);
+ }
}
///
@@ -78,11 +88,20 @@
/// in a valid transformed instance.
public static IEnumerable Transform(SoilLayer2D soilLayer, double atX, out double bottom)
{
- bottom = double.MaxValue;
-
- var soilLayers = new Collection();
- Transform(soilLayer, atX, soilLayers, ref bottom);
- return soilLayers;
+ try
+ {
+ bottom = double.MaxValue;
+ var soilLayers = new Collection();
+ Transform(soilLayer, atX, soilLayers, ref bottom);
+ return soilLayers;
+ }
+ catch (ImportedDataTransformException e)
+ {
+ string errorMessage = string.Format(RingtoetsCommonIOResources.Transform_Error_occurred_when_transforming_SoilLayer_0_errorMessage_1,
+ soilLayer.MaterialName,
+ e.Message);
+ throw new ImportedDataTransformException(errorMessage, e);
+ }
}
///
@@ -173,18 +192,18 @@
/// Sets the values of the stochastic parameters for the given .
///
/// The to set the property values for.
- /// The to get the properties from.
+ /// The to get the properties from.
/// This method does not perform validation. Use to
/// verify whether the distributions for the stochastic parameters are correctly defined.
- private static void SetStochasticParameters(PipingSoilLayer pipingSoilLayer, SoilLayerBase soilLayer1D)
+ private static void SetStochasticParameters(PipingSoilLayer pipingSoilLayer, SoilLayerBase soilLayer)
{
- pipingSoilLayer.BelowPhreaticLevelMean = soilLayer1D.BelowPhreaticLevelMean;
- pipingSoilLayer.BelowPhreaticLevelDeviation = soilLayer1D.BelowPhreaticLevelDeviation;
- pipingSoilLayer.BelowPhreaticLevelShift = soilLayer1D.BelowPhreaticLevelShift;
- pipingSoilLayer.DiameterD70Mean = soilLayer1D.DiameterD70Mean;
- pipingSoilLayer.DiameterD70CoefficientOfVariation = soilLayer1D.DiameterD70CoefficientOfVariation;
- pipingSoilLayer.PermeabilityMean = soilLayer1D.PermeabilityMean;
- pipingSoilLayer.PermeabilityCoefficientOfVariation = soilLayer1D.PermeabilityCoefficientOfVariation;
+ pipingSoilLayer.BelowPhreaticLevelMean = soilLayer.BelowPhreaticLevelMean;
+ pipingSoilLayer.BelowPhreaticLevelDeviation = soilLayer.BelowPhreaticLevelDeviation;
+ pipingSoilLayer.BelowPhreaticLevelShift = soilLayer.BelowPhreaticLevelShift;
+ pipingSoilLayer.DiameterD70Mean = soilLayer.DiameterD70Mean;
+ pipingSoilLayer.DiameterD70CoefficientOfVariation = soilLayer.DiameterD70CoefficientOfVariation;
+ pipingSoilLayer.PermeabilityMean = soilLayer.PermeabilityMean;
+ pipingSoilLayer.PermeabilityCoefficientOfVariation = soilLayer.PermeabilityCoefficientOfVariation;
}
private static bool HeightInInnerLoop(Tuple tuple, double height)
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfiles/PipingSoilLayerTransformerTest.cs
===================================================================
diff -u -r8cdbb1c76ccda6f711ec3bb02339896e7eb660c0 -rc71efcd328d420bd869028dd35d035ff02d98ec2
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfiles/PipingSoilLayerTransformerTest.cs (.../PipingSoilLayerTransformerTest.cs) (revision 8cdbb1c76ccda6f711ec3bb02339896e7eb660c0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfiles/PipingSoilLayerTransformerTest.cs (.../PipingSoilLayerTransformerTest.cs) (revision c71efcd328d420bd869028dd35d035ff02d98ec2)
@@ -95,7 +95,9 @@
// Assert
var exception = Assert.Throws(call);
- Assert.AreEqual("Ongeldige waarde voor parameter 'Is aquifer'.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ "Ongeldige waarde voor parameter 'Is aquifer'.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -195,15 +197,18 @@
// Setup
var layer = new SoilLayer1D(0.0)
{
- BelowPhreaticLevelDistributionType = -1
+ BelowPhreaticLevelDistributionType = -1,
+ MaterialName = nameof(SoilLayer1D)
};
// Call
TestDelegate test = () => PipingSoilLayerTransformer.Transform(layer);
// Assert
Exception exception = Assert.Throws(test);
- Assert.AreEqual("Parameter 'Verzadigd gewicht' moet verschoven lognormaal verdeeld zijn.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ "Parameter 'Verzadigd gewicht' moet verschoven lognormaal verdeeld zijn.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -215,7 +220,9 @@
// Assert
Exception exception = Assert.Throws(test);
- Assert.AreEqual($"Parameter '{parameter}' moet lognormaal verdeeld zijn.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ $"Parameter '{parameter}' moet lognormaal verdeeld zijn.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -227,7 +234,9 @@
// Assert
Exception exception = Assert.Throws(test);
- Assert.AreEqual($"Parameter '{parameter}' moet lognormaal verdeeld zijn met een verschuiving gelijk aan 0.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ $"Parameter '{parameter}' moet lognormaal verdeeld zijn met een verschuiving gelijk aan 0.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -385,7 +394,9 @@
// Assert
var exception = Assert.Throws(call);
- Assert.AreEqual("Ongeldige waarde voor parameter 'Is aquifer'.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ "Ongeldige waarde voor parameter 'Is aquifer'.");
+ Assert.AreEqual(expectedMessage, exception.Message);
Assert.IsNull(pipingSoilLayers);
}
@@ -930,7 +941,9 @@
// Assert
var exception = Assert.Throws(test);
- Assert.AreEqual($"Er kan geen 1D-profiel bepaald worden wanneer segmenten in een 2D laag verticaal lopen op de gekozen positie: x = {atX}.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ $"Er kan geen 1D-profiel bepaald worden wanneer segmenten in een 2D laag verticaal lopen op de gekozen positie: x = {atX}.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -963,7 +976,9 @@
// Assert
var exception = Assert.Throws(test);
- Assert.AreEqual($"Er kan geen 1D-profiel bepaald worden wanneer segmenten in een 2D laag verticaal lopen op de gekozen positie: x = {atX}.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ $"Er kan geen 1D-profiel bepaald worden wanneer segmenten in een 2D laag verticaal lopen op de gekozen positie: x = {atX}.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -981,7 +996,9 @@
// Assert
Exception exception = Assert.Throws(test);
- Assert.AreEqual("Parameter 'Verzadigd gewicht' moet verschoven lognormaal verdeeld zijn.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ "Parameter 'Verzadigd gewicht' moet verschoven lognormaal verdeeld zijn.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -996,7 +1013,9 @@
// Assert
Exception exception = Assert.Throws(test);
- Assert.AreEqual($"Parameter '{parameter}' moet lognormaal verdeeld zijn.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ $"Parameter '{parameter}' moet lognormaal verdeeld zijn.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
[Test]
@@ -1011,7 +1030,9 @@
// Assert
Exception exception = Assert.Throws(test);
- Assert.AreEqual($"Parameter '{parameter}' moet lognormaal verdeeld zijn met een verschuiving gelijk aan 0.", exception.Message);
+ string expectedMessage = CreateExpectedErrorMessage(layer.MaterialName,
+ $"Parameter '{parameter}' moet lognormaal verdeeld zijn met een verschuiving gelijk aan 0.");
+ Assert.AreEqual(expectedMessage, exception.Message);
}
private static SoilLayer2D CreateValidConfiguredSoilLayer2D(double x1, double x3)
@@ -1108,6 +1129,11 @@
).SetName(string.Format(testNameFormat, typeName));
}
+ private static string CreateExpectedErrorMessage(string materialName, string errorMessage)
+ {
+ return $"Er is een fout opgetreden bij het inlezen van grondlaag '{materialName}': {errorMessage}";
+ }
+
private static IEnumerable GetColorCases()
{
yield return new TestCaseData(null, Color.Empty)
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfiles/PipingSoilProfileTransformerTest.cs
===================================================================
diff -u -r94cb41fb18a59fc737dd3bcaf0e1898a3fadcaa5 -rc71efcd328d420bd869028dd35d035ff02d98ec2
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfiles/PipingSoilProfileTransformerTest.cs (.../PipingSoilProfileTransformerTest.cs) (revision 94cb41fb18a59fc737dd3bcaf0e1898a3fadcaa5)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfiles/PipingSoilProfileTransformerTest.cs (.../PipingSoilProfileTransformerTest.cs) (revision c71efcd328d420bd869028dd35d035ff02d98ec2)
@@ -153,7 +153,8 @@
// Assert
var exception = Assert.Throws(test);
- string message = "Er kan geen 1D-profiel bepaald worden wanneer segmenten in een 2D " +
+ string message = $"Er is een fout opgetreden bij het inlezen van grondlaag '{layer.MaterialName}': " +
+ "Er kan geen 1D-profiel bepaald worden wanneer segmenten in een 2D " +
$"laag verticaal lopen op de gekozen positie: x = {atX}.";
Assert.AreEqual(message, exception.Message);
}