Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineSlopeAdapterTest.cs =================================================================== diff -u -r1970 -r2791 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineSlopeAdapterTest.cs (.../SurfaceLineSlopeAdapterTest.cs) (revision 1970) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineSlopeAdapterTest.cs (.../SurfaceLineSlopeAdapterTest.cs) (revision 2791) @@ -64,7 +64,7 @@ public void ConstructNewSurfaceLineReturnsANewSurfaceLine() { var surfaceLine = CreateSimpleDike(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); var constructNewSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(1); Assert.IsNotNull(constructNewSurfaceLine); } @@ -76,7 +76,7 @@ var surfaceLine = CreateSimpleDike(); var pointDikeToeAtPolder = new GeometryPoint { X = 3, Z = 0 }; surfaceLine.EnsurePointOfType(pointDikeToeAtPolder.X, pointDikeToeAtPolder.Z, CharacteristicPointType.DikeToeAtPolder); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(1.0); var expectedPointDikeToeAtPolder = new GeometryPoint { X = 4, Z = 0 }; Assert.IsTrue(expectedPointDikeToeAtPolder.LocationEquals(adaptedSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder))); @@ -104,7 +104,7 @@ surfaceLine.EnsurePointOfType(pointShoulderTopInside.X, pointShoulderTopInside.Z, CharacteristicPointType.ShoulderTopInside); surfaceLine.EnsurePointOfType(pointDikeToeAtPolder.X, pointDikeToeAtPolder.Z, CharacteristicPointType.DikeToeAtPolder); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double deltaX = 1.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(deltaX); var expectedPointShoulderBaseInside = new GeometryPoint { X = pointShoulderBaseInside.X + deltaX, Z = pointShoulderBaseInside.Z }; @@ -143,7 +143,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double deltaX = 1.0; const double deltaXDitch = 3; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(deltaX); @@ -191,7 +191,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double deltaX = 1.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(deltaX); var expectedPointShoulderBaseInside = new GeometryPoint { X = pointShoulderBaseInside.X + deltaX, Z = pointShoulderBaseInside.Z }; @@ -218,7 +218,7 @@ var surfaceLine = CreateSimpleDike(); surfaceLine.EnsurePoint(2.5, 0.4); // in between point on inside slope surfaceLine.SortPoints(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(1.0); var expectedPointDikeToeAtPolder = new GeometryPoint { X = 4, Z = 0 }; Assert.AreEqual(6, surfaceLine.Geometry.Count); @@ -264,7 +264,7 @@ surfaceLine.EnsurePointOfType(pointTrafficLoadOutside.X, pointTrafficLoadOutside.Z, CharacteristicPointType.TrafficLoadOutside); surfaceLine.EnsurePointOfType(pointTrafficLoadInside.X, pointTrafficLoadInside.Z, CharacteristicPointType.TrafficLoadInside); surfaceLine.SortPoints(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double deltaX = 1.0; SurfaceLine2 adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(deltaX); GeometryPoint expectedPointTrafficLoadOutside = new GeometryPoint { X = 7, Z = 2.5 }; @@ -278,7 +278,7 @@ surfaceLine.EnsurePointOfType(pointTrafficLoadOutside.X, pointTrafficLoadOutside.Z, CharacteristicPointType.TrafficLoadOutside); surfaceLine.EnsurePointOfType(pointTrafficLoadInside.X, pointTrafficLoadInside.Z, CharacteristicPointType.TrafficLoadInside); surfaceLine.SortPoints(); - surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(deltaX); expectedPointTrafficLoadOutside = new GeometryPoint { X = 9.5, Z = 1.25 }; expectedPointTrafficLoadInside = new GeometryPoint { X = 10.5, Z = 1.0 }; @@ -296,23 +296,23 @@ public void IsExceptionThrownIfSlopeDoesNotIntersectSurfaceLine() { var surfaceLine = CreateSimpleDike(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); surfaceLineAdapter.ConstructNewSurfaceLineBySlope(0); } [Test] public void IsNotExceptionThrownIfSlopeEqualsTheCurrentSlope() { var surfaceLine = CreateSimpleDike(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); Assert.IsNotNull(surfaceLineAdapter.ConstructNewSurfaceLineBySlope(1.0)); } [Test] public void ConstructNewSurfaceLineBySlopeReturnsANewSurfaceLine() { var surfaceLine = CreateSimpleDike(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); Assert.IsNotNull(surfaceLineAdapter.ConstructNewSurfaceLineBySlope(0.9)); } @@ -321,7 +321,7 @@ public void AdaptedSimpleDikeLineBySlopeHasCorrectNewToeDikeAtPolder() { var surfaceLine = CreateSimpleDike(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 3.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); var expectedPointDikeToeAtPolder = new GeometryPoint { X = 5, Z = 0 }; @@ -350,7 +350,7 @@ surfaceLine.EnsurePointOfType(pointShoulderTopInside.X, pointShoulderTopInside.Z, CharacteristicPointType.ShoulderTopInside); surfaceLine.EnsurePointOfType(pointDikeToeAtPolder.X, pointDikeToeAtPolder.Z, CharacteristicPointType.DikeToeAtPolder); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 4.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); const double deltaX = 4.0; @@ -388,7 +388,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 4.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); const double deltaX = 4.0; @@ -434,7 +434,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 4.0; surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); } @@ -469,7 +469,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 4.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); const double deltaX = 4.0; @@ -520,7 +520,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 2.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); const double deltaX = 1.0; @@ -572,7 +572,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 2.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); var expectedNewPoint = new GeometryPoint { X = pointShoulderTopInside.X, Z = pointShoulderTopInside.Z }; @@ -623,7 +623,7 @@ surfaceLine.EnsurePointOfType(pointBottomDitchPolderSide.X, pointBottomDitchPolderSide.Z, CharacteristicPointType.BottomDitchPolderSide); surfaceLine.EnsurePointOfType(pointDitchPolderSide.X, pointDitchPolderSide.Z, CharacteristicPointType.DitchPolderSide); surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 2.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); const double deltaX = 4.0; // from pointShoulderTopInside @@ -652,7 +652,7 @@ var pointDikeToeAtPolder = surfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder); surfaceLine.EnsurePoint(2.5, 0.4); // in between point on inside slope surfaceLine.SortPoints(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 4.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); const double deltaX = 3.0; @@ -700,7 +700,7 @@ surfaceLine.EnsurePointOfType(pointTrafficLoadOutside.X, pointTrafficLoadOutside.Z, CharacteristicPointType.TrafficLoadOutside); surfaceLine.EnsurePointOfType(pointTrafficLoadInside.X, pointTrafficLoadInside.Z, CharacteristicPointType.TrafficLoadInside); surfaceLine.SortPoints(); - var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + var surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); const double slopeTangent = 1.0 / 4.0; var adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); var expectedPointTrafficLoadOutside = new GeometryPoint { X = 7, Z = 2.75 }; @@ -714,7 +714,7 @@ surfaceLine.EnsurePointOfType(pointTrafficLoadOutside.X, pointTrafficLoadOutside.Z, CharacteristicPointType.TrafficLoadOutside); surfaceLine.EnsurePointOfType(pointTrafficLoadInside.X, pointTrafficLoadInside.Z, CharacteristicPointType.TrafficLoadInside); surfaceLine.SortPoints(); - surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location); + surfaceLineAdapter = new SurfaceLineSlopeAdapter(surfaceLine, location, 0); adaptedSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLineBySlope(slopeTangent); expectedPointTrafficLoadOutside = new GeometryPoint { X = 10.0, Z = 2.0 }; expectedPointTrafficLoadInside = new GeometryPoint { X = 13, Z = 1.25 };