Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs =================================================================== diff -u -r3138 -r3141 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3138) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3141) @@ -55,6 +55,9 @@ private IoMStabDamDoc CreateMStabDamDocExample() { var ioMStabDamDoc = new IoMStabDamDoc(); + const double xLeftBoundary = 1.0; + const double xRightBoundary = 15.00; + const double yDeep = -100.0; // Geometry Creation Options ioMStabDamDoc.MStabInput.GeometryCreationOptions.MaterialForDike = "DikeMaterial"; @@ -72,7 +75,7 @@ // SurfaceLine ioMStabDamDoc.MStabInput.SurfaceLine.Add(new IoGeometryPoint() { - X = 1.0, + X = xLeftBoundary, Y = 1.5 }); ioMStabDamDoc.MStabInput.SurfaceLine.Add(new IoGeometryPoint() @@ -107,14 +110,14 @@ }); ioMStabDamDoc.MStabInput.SurfaceLine.Add(new IoGeometryPoint() { - X = 15.0, + X = xRightBoundary, Y = 0.5 }); // Characteristic Points ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() { - X = 1.0, + X = xLeftBoundary, Y = 1.5, CharacteristicPointType = CharacteristicPointType.SurfaceLevelOutside }); @@ -144,11 +147,67 @@ }); ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() { - X = 15.0, + X = xRightBoundary, Y = 0.5, CharacteristicPointType = CharacteristicPointType.SurfaceLevelInside }); + // PL-Lines + var pl1 = new IoPlLine(); + pl1.IsPhreatic = true; + pl1.BoundaryLayer = 1; + pl1.Points.Add(new IoGeometryPoint() + { + X = xLeftBoundary, + Y = -1.0 + }); + pl1.Points.Add(new IoGeometryPoint() + { + X = 0.5 * (xRightBoundary + xLeftBoundary), + Y = -2.0 + }); + pl1.Points.Add(new IoGeometryPoint() + { + X = xRightBoundary, + Y = -1.5 + }); + ioMStabDamDoc.MStabInput.ExternalPlLines.Add(pl1); + + var pl2 = new IoPlLine(); + pl2.IsPhreatic = false; + pl2.BoundaryLayer = 2; + pl2.Points.Add(new IoGeometryPoint() + { + X = xLeftBoundary, + Y = yDeep + }); + pl1.Points.Add(new IoGeometryPoint() + { + X = xRightBoundary, + Y = yDeep + }); + ioMStabDamDoc.MStabInput.ExternalPlLines.Add(pl2); + + var pl3 = new IoPlLine(); + pl3.IsPhreatic = false; + pl3.BoundaryLayer = 1; + pl3.Points.Add(new IoGeometryPoint() + { + X = xLeftBoundary, + Y = yDeep + }); + pl1.Points.Add(new IoGeometryPoint() + { + X = xRightBoundary, + Y = yDeep + }); + ioMStabDamDoc.MStabInput.ExternalPlLines.Add(pl3); + + var pl4 = new IoPlLine(); + pl4.IsPhreatic = false; + pl4.BoundaryLayer = 0; + ioMStabDamDoc.MStabInput.ExternalPlLines.Add(pl4); + return ioMStabDamDoc; } }