Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs =================================================================== diff -u -r4970 -r4982 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs (.../PlLinesToWaternetConverterTests.cs) (revision 4970) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs (.../PlLinesToWaternetConverterTests.cs) (revision 4982) @@ -1262,31 +1262,40 @@ [Test] [SetUICulture("nl-NL")] - public void TestLanguageNLThrowsExceptionWhenSoilProfile1DIsNull() + public void GivenSoilProfile1DIsNull_WhenCreatingWaternetBasedOnPlLinesAndOn1DProfile_ThenLanguageNLThrowsException() { var plLines = new PlLines(); Assert.That(() => PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, null, null, 0, 0, 0, IntrusionVerticalWaterPressureType.Standard), Throws.InstanceOf().With.Message.EqualTo("Geen ondergrond profiel gedefinieerd")); } [Test] [SetUICulture("nl-NL")] - public void TestLanguageNLThrowsExceptionWhenPlLinesIsNull() + public void GivenPlLinesIsNull_WhenCreatingWaternetBasedOnPlLinesAndOn1DProfile_ThenLanguageNLThrowsException() { var soilProfile1D = new SoilProfile1D(); Assert.That(() => PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(null, soilProfile1D, null, 0, 0, 0, IntrusionVerticalWaterPressureType.Standard), Throws.InstanceOf().With.Message.EqualTo("Geen object voor pn-lijnen gedefinieerd")); } + + [Test] + [SetUICulture("nl-NL")] + public void GivenSurfaceLineIsNull_WhenCreatingWaternetBasedOnPlLinesAndOn1DProfile_ThenLanguageNLThrowsException() + { + var soilProfile1D = new SoilProfile1D(); + var plLines = new PlLines(); + Assert.That(() => PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, soilProfile1D, null, 0, 0, 0, IntrusionVerticalWaterPressureType.Standard), Throws.InstanceOf().With.Message.EqualTo("Geen object voor maaiveld gedefinieerd")); + } [Test] [SetUICulture("nl-NL")] - public void CreateWaternetBasedOnPlLines_SoilProfileNull_ThrowsException() + public void GivenSoilProfile2DIsNull_WhenCreatingWaternetBasedOnPlLinesAnd2DProfile_ThenLanguageNLThrowsException() { var plLines = new PlLines(); Assert.That(() => PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(plLines, null, 0, IntrusionVerticalWaterPressureType.Standard), Throws.InstanceOf().With.Message.EqualTo("Geen ondergrond profiel gedefinieerd")); } [Test] [SetUICulture("nl-NL")] - public void CreateWaternetBasedOnPlLines_ProfileLinesNull_ThrowsException() + public void GivenPlLinesIsNull_WhenCreatingWaternetBasedOnPlLinesAndOn2DProfile_ThenLanguageNLThrowsException() { var soilProfile = new SoilProfile2D(); Assert.That(() => PlLinesToWaternetConverter.CreateWaternetBasedOnPlLines(null, soilProfile, 0, IntrusionVerticalWaterPressureType.Standard), Throws.InstanceOf().With.Message.EqualTo("Geen object voor pn-lijnen gedefinieerd")); Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs =================================================================== diff -u -r4358 -r4982 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 4358) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 4982) @@ -322,16 +322,25 @@ } /// - /// Looks up a localized string similar to No pl-lines object defined. + /// Looks up a localized string similar to No surface line object defined. /// + internal static string PlLinesToWaternetConverter_NoSurfaceLineDefined { + get { + return ResourceManager.GetString("PlLinesToWaternetConverter_NoSurfaceLineDefined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No pl-lines object defined. + /// internal static string PlLinesToWaternetConverter_NoPlLinesDefined { get { return ResourceManager.GetString("PlLinesToWaternetConverter_NoPlLinesDefined", resourceCulture); } } /// - /// Looks up a localized string similar to No soil profile defined. + /// Looks up a localized string similar to No soil profile defined. /// internal static string PlLinesToWaternetConverter_NoSoilProfileDefined { get { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverter.cs =================================================================== diff -u -r4981 -r4982 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverter.cs (.../PlLinesToWaternetConverter.cs) (revision 4981) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverter.cs (.../PlLinesToWaternetConverter.cs) (revision 4982) @@ -69,6 +69,7 @@ { ThrowWhenPlLinesIsNull(plLines); ThrowWhenSoilProfileIsNull(soilProfile1D); + ThrowWhenSurfaceLineIsNull(surfaceLine); var waternet = new Waternet(); PlLine plLine = plLines.Lines[PlLineType.Pl1]; @@ -679,6 +680,19 @@ throw new NoNullAllowedException(Resources.PlLinesToWaternetConverter_NoPlLinesDefined); } } + + /// + /// Throws when the surface line object is not assigned. + /// + /// The surface line. + /// + private static void ThrowWhenSurfaceLineIsNull(GeometryPointString surfaceLine) + { + if (surfaceLine == null) + { + throw new NoNullAllowedException(Resources.PlLinesToWaternetConverter_NoSurfaceLineDefined); + } + } /// /// Waternet lines can't coincide otherwise the program does not know which headline to use. Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx =================================================================== diff -u -r4540 -r4982 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 4540) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.nl-NL.resx (.../Resources.nl-NL.resx) (revision 4982) @@ -270,6 +270,9 @@ Geen ondergrond profiel gedefinieerd + + Geen object voor maaiveld gedefinieerd + Geen segmenten met faalmechanisme {0} aanwezig Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx =================================================================== diff -u -r4540 -r4982 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 4540) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/Properties/Resources.resx (.../Resources.resx) (revision 4982) @@ -274,6 +274,9 @@ No pl-lines object defined + + No surface line object defined + No segments with failure mechanism {0} present