Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs
===================================================================
diff -u -r5427 -r5613
--- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 5427)
+++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 5613)
@@ -991,7 +991,7 @@
}
///
- /// Create a soil profile 2D with one layer
+ /// Create a soil profile 2D with two layers
///
/// The 2D Soil Profile
public static SoilProfile2D CreateSoilProfile2DWithTwoLayers()
@@ -1029,7 +1029,7 @@
}
///
- /// Creates 2D SoilProfile with two layers
+ /// Creates 2D SoilProfile with three layers
///
/// The 2D Soil Profile
public static SoilProfile2D CreateSoilProfile2DWithThreeLayers()
@@ -1072,6 +1072,51 @@
}
///
+ /// -50 -30 -10 10 40 50
+ /// |---------------------------------------------------| Level 10 m
+ /// | surface 1 |
+ /// | |---------------| |---------------| | Level 0 m
+ /// | | surface 2 | | surface 3 | |
+ /// | |-------------- | |---------------| | Level -10 m
+ /// | surface 1 |
+ /// |---------------------------------------------------| Level -20 m
+ ///
+ public static SoilProfile2D CreateSoilProfile2DWithThreeLayersOfWhichTwoAreInnerLoops()
+ {
+ var soilProfile2D = new SoilProfile2D
+ {
+ Geometry = new GeometryData
+ {
+ Left = -50,
+ Right = 50,
+ Bottom = -20
+ }
+ };
+ var soil1 = new Soil("Soil1", 11, 12);
+ Soil soil2 = new Soil("Soil2", 13, 14);
+ Soil soil3 = new Soil("Soil3", 13.1, 14.1);
+
+ SoilLayer2D soilLayer1 = CreateRectangularSoilLayer2D(10, -20, -50, 50, soil1, soilProfile2D);
+ SoilLayer2D soilLayer2 = CreateRectangularSoilLayer2D(0, -10, -30, -10, soil2, soilProfile2D);
+ SoilLayer2D soilLayer3 = CreateRectangularSoilLayer2D(0, -10, 10, 40, soil3, soilProfile2D);
+
+ soilProfile2D.Surfaces.Add(soilLayer1);
+ soilProfile2D.Surfaces.Add(soilLayer2);
+ soilProfile2D.Surfaces.Add(soilLayer3);
+
+ soilProfile2D.Geometry.Loops.Add(soilLayer1.GeometrySurface.OuterLoop);
+ soilProfile2D.Geometry.Surfaces.Add(soilLayer1.GeometrySurface);
+ soilProfile2D.Geometry.Loops.Add(soilLayer2.GeometrySurface.OuterLoop);
+ soilProfile2D.Geometry.Surfaces.Add(soilLayer2.GeometrySurface);
+ soilProfile2D.Geometry.Loops.Add(soilLayer3.GeometrySurface.OuterLoop);
+ soilProfile2D.Geometry.Surfaces.Add(soilLayer3.GeometrySurface);
+ soilProfile2D.Geometry.Surfaces[0].InnerLoops.Add(soilLayer2.GeometrySurface.OuterLoop);
+ soilProfile2D.Geometry.Surfaces[0].InnerLoops.Add(soilLayer3.GeometrySurface.OuterLoop);
+
+ return soilProfile2D;
+ }
+
+ ///
/// -50 -20 -10 0 35 60
/// |-----------------|--------------|-----------------------------| Level 10 m
/// | surface 1 | surface 2 | surface 3 |
@@ -1451,7 +1496,7 @@
}
///
- /// Creates a surface line for a soil profile 2D at the requested postion.
+ /// Creates a surface line for a soil profile 2D at the requested position.
///
///
///