Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingSurfaceLineCreatorTest.cs =================================================================== diff -u -r51c41f19c5b5ed0a0ad42b5dc3a969246d58a2d6 -r8835dbef07a012e4e7e9f8aa8e21040bfea4e079 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingSurfaceLineCreatorTest.cs (.../PipingSurfaceLineCreatorTest.cs) (revision 51c41f19c5b5ed0a0ad42b5dc3a969246d58a2d6) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingSurfaceLineCreatorTest.cs (.../PipingSurfaceLineCreatorTest.cs) (revision 8835dbef07a012e4e7e9f8aa8e21040bfea4e079) @@ -320,6 +320,40 @@ AssertPointsAreEqual(new Point3D(0.0, 0.0, 2.2), actual.DitchPolderSide); } + [Test] + public void Create_SurfaceLineWithMultipleCharacteristicTypesForOnePoint_CreateSurfaceLineWithPointsForEachType() + { + // Setup + const string name = "Surfaceline without points"; + var point = new Point3D(1.0, 1.0, 2.2); + var surfaceLine = new RingtoetsPipingSurfaceLine + { + Name = name + }; + surfaceLine.SetGeometry(new[] + { + point + }); + surfaceLine.SetDikeToeAtRiverAt(point); + surfaceLine.SetDikeToeAtPolderAt(point); + surfaceLine.SetDitchDikeSideAt(point); + surfaceLine.SetBottomDitchPolderSideAt(point); + surfaceLine.SetBottomDitchDikeSideAt(point); + surfaceLine.SetDitchPolderSideAt(point); + + // Call + PipingSurfaceLine actual = PipingSurfaceLineCreator.Create(surfaceLine); + + // Assert + Assert.AreEqual(name, actual.Name); + Assert.AreEqual(5, actual.Points.Count); + AssertPointsAreEqual(new Point3D(0.0, 0.0, 2.2), actual.DikeToeAtPolder); + AssertPointsAreEqual(new Point3D(0.0, 0.0, 2.2), actual.DitchDikeSide); + AssertPointsAreEqual(new Point3D(0.0, 0.0, 2.2), actual.BottomDitchPolderSide); + AssertPointsAreEqual(new Point3D(0.0, 0.0, 2.2), actual.BottomDitchDikeSide); + AssertPointsAreEqual(new Point3D(0.0, 0.0, 2.2), actual.DitchPolderSide); + } + private void AssertPointsAreEqual(Point3D point, PipingPoint otherPoint) { if (point == null)