Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.KernelWrapper.Test/Creators/Input/SurfaceLineCreatorTest.cs =================================================================== diff -u -r6139d8deb7b8f83cd06a4534f04ed18ecbada3b6 -r8f0b11c80c0e905ddd71ea14f4cc23f34e24cb32 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.KernelWrapper.Test/Creators/Input/SurfaceLineCreatorTest.cs (.../SurfaceLineCreatorTest.cs) (revision 6139d8deb7b8f83cd06a4534f04ed18ecbada3b6) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.KernelWrapper.Test/Creators/Input/SurfaceLineCreatorTest.cs (.../SurfaceLineCreatorTest.cs) (revision 8f0b11c80c0e905ddd71ea14f4cc23f34e24cb32) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.ComponentModel; using System.Linq; using Core.Common.Base.Geometry; using Core.Common.TestUtil; @@ -243,10 +244,40 @@ Assert.IsTrue(actualCharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).LocationEquals(ToGeometryPoint(geometry[13]))); } - private static void AssertGeneralValues(string name, SurfaceLine2 actual) + [Test] + public void Create_InvalidLandwardDirection_ThrowInvalidEnumArgumentException() { - Assert.AreEqual(LandwardDirection.PositiveX, actual.LandwardDirection); + // Setup + const string name = "Surface line with landward direction"; + var surfaceLine = new MacroStabilityInwardsSurfaceLine(name); + // Call + TestDelegate test = () => SurfaceLineCreator.Create(surfaceLine, (UpliftVanLandwardDirection) 99); + + // Assert + string message = $"The value of argument 'landwardDirection' ({99}) is invalid for Enum type '{typeof(UpliftVanLandwardDirection).Name}'."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [TestCase(UpliftVanLandwardDirection.PositiveX, LandwardDirection.PositiveX)] + [TestCase(UpliftVanLandwardDirection.NegativeX, LandwardDirection.NegativeX)] + public void Create_ValidLandwardDirection_CreateSurfaceLineWithLandwardDirection(UpliftVanLandwardDirection upliftVanLandwardDirection, + LandwardDirection landwardDirection) + { + // Setup + const string name = "Surface line with landward direction"; + var surfaceLine = new MacroStabilityInwardsSurfaceLine(name); + + // Call + SurfaceLine2 actual = SurfaceLineCreator.Create(surfaceLine, upliftVanLandwardDirection); + + // Assert + AssertGeneralValues(name, actual); + Assert.AreEqual(landwardDirection, actual.LandwardDirection); + } + + private static void AssertGeneralValues(string name, SurfaceLine2 actual) + { Assert.AreEqual(name, actual.Name); // Unused property CollectionAssert.IsEmpty(actual.Geometry.CalcPoints); // Internal property }