Index: DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SurfaceLine2Tests.cs =================================================================== diff -u -r4036 -r4052 --- DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SurfaceLine2Tests.cs (.../SurfaceLine2Tests.cs) (revision 4036) +++ DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SurfaceLine2Tests.cs (.../SurfaceLine2Tests.cs) (revision 4052) @@ -25,44 +25,43 @@ using Deltares.DamEngine.Data.Geotechnics; using NUnit.Framework; -namespace Deltares.DamEngine.Data.Tests.Geotechnics +namespace Deltares.DamEngine.Data.Tests.Geotechnics; + +[TestFixture] +public class SurfaceLine2Tests { - [TestFixture] - public class SurfaceLine2Tests + [Test] + public void TestAddingCharacteristicPointsOnSameLocationDoesNotAddDoublePointsInGeometry() { - [Test] - public void TestAddingCharacteristicPointsOnSameLocationDoesNotAddDoublePointsInGeometry() - { - var surfaceLine = new SurfaceLine2(); - surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry; - AddPointToSurfaceLine(surfaceLine, 0.0, 0.0, CharacteristicPointType.SurfaceLevelOutside); - AddPointToSurfaceLine(surfaceLine, 2.0, 0.5, CharacteristicPointType.None); - AddPointToSurfaceLine(surfaceLine, 4.0, 0.0, CharacteristicPointType.DikeToeAtRiver); - AddPointToSurfaceLine(surfaceLine, 9.0, 5.0, CharacteristicPointType.DikeTopAtRiver); - AddPointToSurfaceLine(surfaceLine, 10.0, 5.2, CharacteristicPointType.None); - AddPointToSurfaceLine(surfaceLine, 13.0, 5.4, CharacteristicPointType.DikeTopAtPolder); - AddPointToSurfaceLine(surfaceLine, 13.0, 5.4, CharacteristicPointType.TrafficLoadOutside); - AddPointToSurfaceLine(surfaceLine, 14.0, 4.52, CharacteristicPointType.TrafficLoadInside); - AddPointToSurfaceLine(surfaceLine, 18.0, 1.0, CharacteristicPointType.DikeToeAtPolder); - AddPointToSurfaceLine(surfaceLine, 24.0, 1.0, CharacteristicPointType.SurfaceLevelInside); - surfaceLine.Geometry.SyncCalcPoints(); - Assert.AreEqual(10, surfaceLine.CharacteristicPoints.Count); - var tolerance = 0.001; - Assert.AreEqual(2, surfaceLine.CharacteristicPoints.Count(cp => Math.Abs(cp.X - 13.0) < tolerance && Math.Abs(cp.Z - 5.4) < tolerance)); - // Because TrafficLoadOutside and DikeTopAtPolder are on the same location, 1 point less should be in the geometry - Assert.AreEqual(9, surfaceLine.Geometry.Points.Count); - Assert.AreEqual(1, surfaceLine.Geometry.Points.Count(cp => Math.Abs(cp.X - 13.0) < tolerance && Math.Abs(cp.Z - 5.4) < tolerance)); - } + var surfaceLine = new SurfaceLine2(); + surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry; + AddPointToSurfaceLine(surfaceLine, 0.0, 0.0, CharacteristicPointType.SurfaceLevelOutside); + AddPointToSurfaceLine(surfaceLine, 2.0, 0.5, CharacteristicPointType.None); + AddPointToSurfaceLine(surfaceLine, 4.0, 0.0, CharacteristicPointType.DikeToeAtRiver); + AddPointToSurfaceLine(surfaceLine, 9.0, 5.0, CharacteristicPointType.DikeTopAtRiver); + AddPointToSurfaceLine(surfaceLine, 10.0, 5.2, CharacteristicPointType.None); + AddPointToSurfaceLine(surfaceLine, 13.0, 5.4, CharacteristicPointType.DikeTopAtPolder); + AddPointToSurfaceLine(surfaceLine, 13.0, 5.4, CharacteristicPointType.TrafficLoadOutside); + AddPointToSurfaceLine(surfaceLine, 14.0, 4.52, CharacteristicPointType.TrafficLoadInside); + AddPointToSurfaceLine(surfaceLine, 18.0, 1.0, CharacteristicPointType.DikeToeAtPolder); + AddPointToSurfaceLine(surfaceLine, 24.0, 1.0, CharacteristicPointType.SurfaceLevelInside); + surfaceLine.Geometry.SyncCalcPoints(); + Assert.AreEqual(10, surfaceLine.CharacteristicPoints.Count); + var tolerance = 0.001; + Assert.AreEqual(2, surfaceLine.CharacteristicPoints.Count(cp => Math.Abs(cp.X - 13.0) < tolerance && Math.Abs(cp.Z - 5.4) < tolerance)); + // Because TrafficLoadOutside and DikeTopAtPolder are on the same location, 1 point less should be in the geometry + Assert.AreEqual(9, surfaceLine.Geometry.Points.Count); + Assert.AreEqual(1, surfaceLine.Geometry.Points.Count(cp => Math.Abs(cp.X - 13.0) < tolerance && Math.Abs(cp.Z - 5.4) < tolerance)); + } - private void AddPointToSurfaceLine(SurfaceLine2 surfaceLine, double xCoordinate, double zCoordinate, CharacteristicPointType characteristicPointType) + private void AddPointToSurfaceLine(SurfaceLine2 surfaceLine, double xCoordinate, double zCoordinate, CharacteristicPointType characteristicPointType) + { + var geometryPoint = new GeometryPoint { - var geometryPoint = new GeometryPoint - { - X = xCoordinate, - Y = 0.0, - Z = zCoordinate - }; - surfaceLine.AddCharacteristicPoint(geometryPoint, characteristicPointType); - } + X = xCoordinate, + Y = 0.0, + Z = zCoordinate + }; + surfaceLine.AddCharacteristicPoint(geometryPoint, characteristicPointType); } } \ No newline at end of file