Index: DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SurfaceLine2Tests.cs =================================================================== diff -u -r4412 -r4540 --- DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SurfaceLine2Tests.cs (.../SurfaceLine2Tests.cs) (revision 4412) +++ DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SurfaceLine2Tests.cs (.../SurfaceLine2Tests.cs) (revision 4540) @@ -1,4 +1,4 @@ -// Copyright (C) Stichting Deltares 2023. All rights reserved. +// Copyright (C) Stichting Deltares 2024. All rights reserved. // // This file is part of the Dam Engine. // @@ -38,15 +38,6 @@ ValidateSurfaceLine(surfaceLine); } - private static void ValidateSurfaceLine(SurfaceLine2 surfaceLine) - { - 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)); - } - [Test] public void TestDeepCloneWithoutGeometryMustContainPoint() { @@ -57,14 +48,14 @@ // So the actual code should NEVER reset the GeometryMustContainPoint for filled surface lines. surfaceLine.CharacteristicPoints.GeometryMustContainPoint = false; Assert.AreEqual(0, surfaceLine.CharacteristicPoints.Count); - var newSurfaceLine = surfaceLine.FullDeepClone(); + SurfaceLine2 newSurfaceLine = surfaceLine.FullDeepClone(); surfaceLine.CharacteristicPoints.Clear(); surfaceLine.Geometry.CalcPoints.Clear(); surfaceLine.Geometry.SyncPoints(); Assert.AreEqual(0, newSurfaceLine.CharacteristicPoints.Count); Assert.AreEqual(9, newSurfaceLine.Geometry.Points.Count); } - + [Test] public void TestDeepCloneWithGeometryMustContainPoint() { @@ -77,21 +68,21 @@ surfaceLine.CharacteristicPoints.GeometryMustContainPoint = true; Assert.AreEqual(9, surfaceLine.Geometry.Points.Count); Assert.AreEqual(9, surfaceLine.CharacteristicPoints.Count); - var newSurfaceLine = surfaceLine.FullDeepClone(); + SurfaceLine2 newSurfaceLine = surfaceLine.FullDeepClone(); surfaceLine.CharacteristicPoints.Clear(); surfaceLine.Geometry.CalcPoints.Clear(); surfaceLine.Geometry.SyncPoints(); Assert.AreEqual(9, newSurfaceLine.CharacteristicPoints.Count); Assert.AreEqual(9, newSurfaceLine.Geometry.Points.Count); } - + [Test] public void TestDeepCloneWithoutSettingGeometryMustContainPoint() { SurfaceLine2 surfaceLine = FillSurfaceLine2(); Assert.AreEqual(10, surfaceLine.CharacteristicPoints.Count); Assert.AreEqual(9, surfaceLine.Geometry.Points.Count); - var newSurfaceLine = surfaceLine.FullDeepClone(); + SurfaceLine2 newSurfaceLine = surfaceLine.FullDeepClone(); surfaceLine.CharacteristicPoints.Clear(); surfaceLine.Geometry.CalcPoints.Clear(); surfaceLine.Geometry.SyncPoints(); @@ -101,46 +92,55 @@ surfaceLine = FillSurfaceLine2(); Assert.AreEqual(surfaceLine.CharacteristicPoints[0].X, newSurfaceLine.CharacteristicPoints[0].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[0].Z, newSurfaceLine.CharacteristicPoints[0].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[0].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[0].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[0].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[1].X, newSurfaceLine.CharacteristicPoints[1].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[1].Z, newSurfaceLine.CharacteristicPoints[1].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[1].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[1].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[1].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[2].X, newSurfaceLine.CharacteristicPoints[2].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[2].Z, newSurfaceLine.CharacteristicPoints[2].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[2].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[2].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[2].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[3].X, newSurfaceLine.CharacteristicPoints[3].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[3].Z, newSurfaceLine.CharacteristicPoints[3].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[3].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[3].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[3].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[4].X, newSurfaceLine.CharacteristicPoints[4].X, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[4].Z, newSurfaceLine.CharacteristicPoints[4].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[4].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[4].Z, newSurfaceLine.CharacteristicPoints[4].Z, tolerance); + Assert.AreEqual(surfaceLine.CharacteristicPoints[4].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[4].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[5].X, newSurfaceLine.CharacteristicPoints[5].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[5].Z, newSurfaceLine.CharacteristicPoints[5].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[5].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[5].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[5].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[6].X, newSurfaceLine.CharacteristicPoints[6].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[6].Z, newSurfaceLine.CharacteristicPoints[6].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[6].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[6].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[6].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[7].X, newSurfaceLine.CharacteristicPoints[7].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[7].Z, newSurfaceLine.CharacteristicPoints[7].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[7].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[7].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[7].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[8].X, newSurfaceLine.CharacteristicPoints[8].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[8].Z, newSurfaceLine.CharacteristicPoints[8].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[8].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[8].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[8].CharacteristicPointType); Assert.AreEqual(surfaceLine.CharacteristicPoints[9].X, newSurfaceLine.CharacteristicPoints[9].X, tolerance); Assert.AreEqual(surfaceLine.CharacteristicPoints[9].Z, newSurfaceLine.CharacteristicPoints[9].Z, tolerance); - Assert.AreEqual(surfaceLine.CharacteristicPoints[9].CharacteristicPointType, + Assert.AreEqual(surfaceLine.CharacteristicPoints[9].CharacteristicPointType, newSurfaceLine.CharacteristicPoints[9].CharacteristicPointType); } + private static void ValidateSurfaceLine(SurfaceLine2 surfaceLine) + { + 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 SurfaceLine2 FillSurfaceLine2() { var surfaceLine = new SurfaceLine2();