Index: DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/GeometryHelperTests.cs =================================================================== diff -u -r5637 -r5641 --- DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/GeometryHelperTests.cs (.../GeometryHelperTests.cs) (revision 5637) +++ DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/GeometryHelperTests.cs (.../GeometryHelperTests.cs) (revision 5641) @@ -21,7 +21,6 @@ using System; using Deltares.DamEngine.Data.Geometry; -using Deltares.DamEngine.Data.GeometryExport; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.TestHelpers.Factories; using NUnit.Framework; @@ -219,12 +218,10 @@ // At first there are 2 inner loops Assert.That(soilProfile2D.Geometry.InnerLoopsCount, Is.EqualTo(2)); }); - //GeometryExporter.ExportToFile(soilProfile2D.Geometry, GeometryExporter.VisualizationFolder + "GeometryBefore.txt"); + // When GeometryHelper.CutGeometryLeft(soilProfile2D.Geometry, atX); - //GeometryExporter.ExportToFile(soilProfile2D.Geometry, GeometryExporter.VisualizationFolder + "GeometryAfter.txt"); - //GeometryExporter.ExportWithSurfaceLineToJsonFile(GeometryExporter.VisualizationFolder + - // GeometryExporter.ExportJasonFile, soilProfile2D.Geometry, null); + // Then GeometryBounds geometryBounds = soilProfile2D.Geometry.GetGeometryBounds(); Assert.Multiple(() => @@ -267,12 +264,10 @@ // At first there are 2 inner loops Assert.That(soilProfile2D.Geometry.InnerLoopsCount, Is.EqualTo(2)); }); - //GeometryExporter.ExportToFile(soilProfile2D.Geometry, GeometryExporter.VisualizationFolder + "GeometryBefore.txt"); + // When GeometryHelper.CutGeometryRight(soilProfile2D.Geometry, atX); - //GeometryExporter.ExportToFile(soilProfile2D.Geometry, GeometryExporter.VisualizationFolder + "GeometryAfter.txt"); - GeometryExporter.ExportWithSurfaceLineToJsonFile(GeometryExporter.VisualizationFolder + - GeometryExporter.ExportJasonFile, soilProfile2D.Geometry, null); + // Then GeometryBounds geometryBounds = soilProfile2D.Geometry.GetGeometryBounds(); Assert.Multiple(() => Index: DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SoilProfile2DSurfaceLineHelperTests.cs =================================================================== diff -u -r5386 -r5641 --- DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SoilProfile2DSurfaceLineHelperTests.cs (.../SoilProfile2DSurfaceLineHelperTests.cs) (revision 5386) +++ DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/SoilProfile2DSurfaceLineHelperTests.cs (.../SoilProfile2DSurfaceLineHelperTests.cs) (revision 5641) @@ -551,4 +551,37 @@ // Then Assert.That(result, Is.EqualTo(expectedLayerAbove)); } + + [Test] + public void GivenSoilProfile2DWithInnerLoopsWhenCombiningWithSurfaceLineThenCorrectNewSoilProfile2DIsCreated() + { + // Given + SurfaceLine2 surfaceLine = FactoryForSoilProfiles.CreateSurfaceLine(new[] + { + new GeometryPoint(-50, -5), + new GeometryPoint(-20, -5), + new GeometryPoint(-5, 15), + new GeometryPoint(10, 15), + new GeometryPoint(30, 5), + new GeometryPoint(50, 5) + }); + + SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DWithThreeLayersOfWhichTwoAreInnerLoops(); + var defaultSoil = new Soil + { + Name = "dikemat" + }; + + // When + SoilProfile2D newSoilProfile2D = SoilProfile2DSurfaceLineHelper.CombineSurfaceLineWithSoilProfile2D( + surfaceLine.Geometry, soilProfile2D, defaultSoil, 0); + + //Then + Assert.That(newSoilProfile2D, Is.Not.Null); + Assert.That(newSoilProfile2D.Surfaces, Has.Count.EqualTo(4)); + Assert.That(newSoilProfile2D.Geometry.Surfaces, Has.Count.EqualTo(4)); + Assert.That(newSoilProfile2D.Geometry.Points, Has.Count.EqualTo(19)); + Assert.That(newSoilProfile2D.Geometry.Curves, Has.Count.EqualTo(21)); + Assert.That(newSoilProfile2D.Geometry.InnerLoopsCount, Is.EqualTo(1)); + } } \ No newline at end of file