Index: DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geometry/GeometryGeneratorTests.cs =================================================================== diff -u -r5786 -r6004 --- DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geometry/GeometryGeneratorTests.cs (.../GeometryGeneratorTests.cs) (revision 5786) +++ DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geometry/GeometryGeneratorTests.cs (.../GeometryGeneratorTests.cs) (revision 6004) @@ -74,12 +74,6 @@ }); } - //[Test] - - - - // [TestCase(0.0, 0.0, 2.0, 2.0, 3.0, 3.0, 0.0, 0.0)] // p1/p4--p2--p3 keep c1, split c2 to c(p2--p3) - // [TestCase(0.0, 0.0, 2.0, 2.0, 3.0, 3.0, 0.0, 0.0)] // p1/p4--p2--p3 keep c1, split c2 to c(p2--p3) [Test, TestCaseSource(nameof(CurvesToBeTestedForParallelCurves))] public void TestRegenerateParallelCurves(TestCaseCurvesToBeTestedForParallelCurves testCase) { @@ -309,7 +303,7 @@ var point9_1 = new Point2D(0.0, 0.0); var point9_2 = new Point2D(4.0, 4.0); - var point9_3 = point8_1; + var point9_3 = point9_1; var point9_4 = new Point2D(2.0, 2.0); yield return new TestCaseData( new TestCaseCurvesToBeTestedForParallelCurves @@ -320,13 +314,13 @@ InputPoint3 = point9_3, InputPoint4 = point9_4, IsCurveInserted = false, - ExpectedPoint1 = point9_1, - ExpectedPoint2 = point9_4, - ExpectedPoint3 = point9_4, - ExpectedPoint4 = point9_2, + ExpectedPoint1 = point9_4, + ExpectedPoint2 = point9_2, + ExpectedPoint3 = point9_3, + ExpectedPoint4 = point9_4, ExpectedPoint5 = null, ExpectedPoint6 = null - }).SetName("Test 9: p1/p3--p4--p2 split c1 to c(p1--p4), split c2 to c(p4--p2)"); + }).SetName("Test 9: p1/p3--p4--p2 split c1 to c(p4--p2), keep c2 (p3-p4)"); var point10_1 = new Point2D(0.0, 0.0); var point10_2 = new Point2D(2.0, 2.0); @@ -352,7 +346,7 @@ var point11_1 = new Point2D(0.0, 0.0); var point11_2 = new Point2D(4.0, 4.0); var point11_3 = new Point2D(2.0, 2.0); - var point11_4 = point10_1; + var point11_4 = point11_1; yield return new TestCaseData( new TestCaseCurvesToBeTestedForParallelCurves { @@ -372,7 +366,7 @@ var point12_1 = new Point2D(0.0, 0.0); var point12_2 = new Point2D(2.0, 2.0); - var point12_3 = point10_2; + var point12_3 = point12_2; var point12_4 = new Point2D(4.0, 4.0); yield return new TestCaseData( new TestCaseCurvesToBeTestedForParallelCurves @@ -389,7 +383,448 @@ ExpectedPoint4 = point12_4, ExpectedPoint5 = null, ExpectedPoint6 = null - }).SetName("Test 12: p1--p2/p3--p4 keep c1(p1,p2) , keep c2(p3--p4)"); + }).SetName("Test 12: p1--p2/p3--p4 keep c1(p1,p2) , split c2(p2--p4)"); + + var point13_1 = new Point2D(4.0, 4.0); + var point13_2 = new Point2D(2.0, 2.0); + var point13_3 = point13_2; + var point13_4 = new Point2D(0.0, 0.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point13_1, + InputPoint2 = point13_2, + InputPoint3 = point13_3, + InputPoint4 = point13_4, + IsCurveInserted = false, + ExpectedPoint1 = point13_1, + ExpectedPoint2 = point13_2, + ExpectedPoint3 = point13_3, + ExpectedPoint4 = point13_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 13: p4--p2/p3--p1 keep c1(p1,p2) , keep c2(p3--p4)"); + + var point14_1 = new Point2D(2.0, 2.0); + var point14_2 = new Point2D(4.0, 4.0); + var point14_3 = new Point2D(0.0, 0.0); + var point14_4 = point14_1; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point14_1, + InputPoint2 = point14_2, + InputPoint3 = point14_3, + InputPoint4 = point14_4, + IsCurveInserted = false, + ExpectedPoint1 = point14_1, + ExpectedPoint2 = point14_2, + ExpectedPoint3 = point14_3, + ExpectedPoint4 = point14_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 14: p3--p1/p4--p2 keep c1(p1,p2) , keep c2(p3--p4)"); + + var point15_1 = new Point2D(2.0, 2.0); + var point15_2 = new Point2D(0.0, 0.0); + var point15_3 = new Point2D(4.0, 4.0); + var point15_4 = point15_1; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point15_1, + InputPoint2 = point15_2, + InputPoint3 = point15_3, + InputPoint4 = point15_4, + IsCurveInserted = false, + ExpectedPoint1 = point15_1, + ExpectedPoint2 = point15_2, + ExpectedPoint3 = point15_3, + ExpectedPoint4 = point15_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 15: p2--p1/p4--p3 keep c1(p1,p2) , keep c2(p3--p4)"); + + var point16_1 = new Point2D(4.0, 4.0); + var point16_2 = new Point2D(0.0, 0.0); + var point16_3 = new Point2D(2.0, 2.0); + var point16_4 = point16_1; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point16_1, + InputPoint2 = point16_2, + InputPoint3 = point16_3, + InputPoint4 = point16_4, + IsCurveInserted = false, + ExpectedPoint1 = point16_3, + ExpectedPoint2 = point16_2, + ExpectedPoint3 = point16_3, + ExpectedPoint4 = point16_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 16: p2--p3--p1/p4 split c1(p3,p2) , keep c2(p3--p4)"); + + var point17_1 = new Point2D(4.0, 4.0); + var point17_2 = new Point2D(2.0, 2.0); + var point17_3 = new Point2D(0.0, 0.0); + var point17_4 = point17_1; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point17_1, + InputPoint2 = point17_2, + InputPoint3 = point17_3, + InputPoint4 = point17_4, + IsCurveInserted = false, + ExpectedPoint1 = point17_1, + ExpectedPoint2 = point17_2, + ExpectedPoint3 = point17_3, + ExpectedPoint4 = point17_2, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 17: p3--p2--p1/p4 keep c1(p1,p2) , split c2(p3--p2)"); + + var point18_1 = new Point2D(2.0, 2.0); + var point18_2 = new Point2D(4.0, 4.0); + var point18_3 = point18_1; + var point18_4 = new Point2D(0.0, 0.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point18_1, + InputPoint2 = point18_2, + InputPoint3 = point18_3, + InputPoint4 = point18_4, + IsCurveInserted = false, + ExpectedPoint1 = point18_1, + ExpectedPoint2 = point18_2, + ExpectedPoint3 = point18_3, + ExpectedPoint4 = point18_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 18: p4--p1/p3--p2 keep c1(p1,p2) , keep c2(p3--p4)"); + + var point19_1 = new Point2D(2.0, 2.0); + var point19_2 = new Point2D(0.0, 0.0); + var point19_3 = point19_1; + var point19_4 = new Point2D(4.0, 4.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point19_1, + InputPoint2 = point19_2, + InputPoint3 = point19_3, + InputPoint4 = point19_4, + IsCurveInserted = false, + ExpectedPoint1 = point19_1, + ExpectedPoint2 = point19_2, + ExpectedPoint3 = point19_3, + ExpectedPoint4 = point19_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 19: p2--p1/p3--p4 keep c1(p1,p2) , keep c2(p3--p4)"); + + var point20_1 = new Point2D(4.0, 4.0); + var point20_2 = new Point2D(0.0, 0.0); + var point20_3 = point20_1; + var point20_4 = new Point2D(2.0, 2.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point20_1, + InputPoint2 = point20_2, + InputPoint3 = point20_3, + InputPoint4 = point20_4, + IsCurveInserted = false, + ExpectedPoint1 = point20_4, + ExpectedPoint2 = point20_2, + ExpectedPoint3 = point20_3, + ExpectedPoint4 = point20_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 20: p2--p4--p1/p3 split c1(p4,p2) , keep c2(p3--p4)"); + + var point21_1 = new Point2D(4.0, 4.0); + var point21_2 = new Point2D(2.0, 2.0); + var point21_3 = point21_1; + var point21_4 = new Point2D(0.0, 0.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point21_1, + InputPoint2 = point21_2, + InputPoint3 = point21_3, + InputPoint4 = point21_4, + IsCurveInserted = false, + ExpectedPoint1 = point21_1, + ExpectedPoint2 = point21_2, + ExpectedPoint3 = point21_2, + ExpectedPoint4 = point21_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 21: p4--p2--p1/p3 keep c1(p1,p2) , split c2(p2-p4)"); + + var point22_1 = new Point2D(2.0, 2.0); + var point22_2 = new Point2D(0.0, 0.0); + var point22_3 = new Point2D(4.0, 4.0); + var point22_4 = point22_2; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point22_1, + InputPoint2 = point22_2, + InputPoint3 = point22_3, + InputPoint4 = point22_4, + IsCurveInserted = false, + ExpectedPoint1 = point22_1, + ExpectedPoint2 = point22_2, + ExpectedPoint3 = point22_3, + ExpectedPoint4 = point22_1, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 22: p2/p4--p1--p3 keep c1(p1,p2) , split c2(p3-p1)"); + + var point23_1 = new Point2D(4.0, 4.0); + var point23_2 = new Point2D(0.0, 0.0); + var point23_3 = new Point2D(2.0, 2.0); + var point23_4 = point23_2; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point23_1, + InputPoint2 = point23_2, + InputPoint3 = point23_3, + InputPoint4 = point23_4, + IsCurveInserted = false, + ExpectedPoint1 = point23_1, + ExpectedPoint2 = point23_3, + ExpectedPoint3 = point23_3, + ExpectedPoint4 = point23_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 23: p2/p4--p3--p1 split c1(p1,p3) , keep c2(p3-p4)"); + + var point24_1 = new Point2D(0.0, 0.0); + var point24_2 = new Point2D(2.0, 2.0); + var point24_3 = new Point2D(4.0, 4.0); + var point24_4 = point24_2; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point24_1, + InputPoint2 = point24_2, + InputPoint3 = point24_3, + InputPoint4 = point24_4, + IsCurveInserted = false, + ExpectedPoint1 = point24_1, + ExpectedPoint2 = point24_2, + ExpectedPoint3 = point24_3, + ExpectedPoint4 = point24_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 24: p1--p2/p4--p3 keep c1(p1,p2) , keep c2(p3-p4)"); + + var point25_1 = new Point2D(4.0, 4.0); + var point25_2 = new Point2D(2.0, 2.0); + var point25_3 = new Point2D(0.0, 0.0); + var point25_4 = point25_2; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point25_1, + InputPoint2 = point25_2, + InputPoint3 = point25_3, + InputPoint4 = point25_4, + IsCurveInserted = false, + ExpectedPoint1 = point25_1, + ExpectedPoint2 = point25_2, + ExpectedPoint3 = point25_3, + ExpectedPoint4 = point25_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 25: p3--p2/p4--p1 keep c1(p1,p2) , keep c2(p3-p4)"); + + var point26_1 = new Point2D(0.0, 0.0); + var point26_2 = new Point2D(4.0, 4.0); + var point26_3 = new Point2D(2.0, 2.0); + var point26_4 = point26_2; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point26_1, + InputPoint2 = point26_2, + InputPoint3 = point26_3, + InputPoint4 = point26_4, + IsCurveInserted = false, + ExpectedPoint1 = point26_1, + ExpectedPoint2 = point26_3, + ExpectedPoint3 = point26_3, + ExpectedPoint4 = point26_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 26: p1--p3--p2/p4 split c1(p1,p3) , keep c2(p3-p4)"); + + var point27_1 = new Point2D(2.0, 2.0); + var point27_2 = new Point2D(4.0, 4.0); + var point27_3 = new Point2D(0.0, 0.0); + var point27_4 = point27_2; + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point27_1, + InputPoint2 = point27_2, + InputPoint3 = point27_3, + InputPoint4 = point27_4, + IsCurveInserted = false, + ExpectedPoint1 = point27_1, + ExpectedPoint2 = point27_2, + ExpectedPoint3 = point27_3, + ExpectedPoint4 = point27_1, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 27: p3--p1--p2/p4 keep c1(p1,p2) , split c2(p3-p1)"); + + var point28_1 = new Point2D(2.0, 2.0); + var point28_2 = new Point2D(0.0, 0.0); + var point28_3 = point28_2; + var point28_4 = new Point2D(4.0, 4.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point28_1, + InputPoint2 = point28_2, + InputPoint3 = point28_3, + InputPoint4 = point28_4, + IsCurveInserted = false, + ExpectedPoint1 = point28_1, + ExpectedPoint2 = point28_2, + ExpectedPoint3 = point28_1, + ExpectedPoint4 = point28_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 28: p2/p3--p1--p4 keep c1(p1,p2) , split c2(p1-p4)"); + + var point29_1 = new Point2D(4.0, 4.0); + var point29_2 = new Point2D(0.0, 0.0); + var point29_3 = point29_2; + var point29_4 = new Point2D(2.0, 2.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point29_1, + InputPoint2 = point29_2, + InputPoint3 = point29_3, + InputPoint4 = point29_4, + IsCurveInserted = false, + ExpectedPoint1 = point29_1, + ExpectedPoint2 = point29_4, + ExpectedPoint3 = point29_3, + ExpectedPoint4 = point29_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 29: p2/p3--p4--p1 split c1(p1,p4) , keep c2(p3-p4)"); + + var point30_1 = new Point2D(0.0, 0.0); + var point30_2 = new Point2D(2.0, 2.0); + var point30_3 = point30_2; + var point30_4 = new Point2D(4.0, 4.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point30_1, + InputPoint2 = point30_2, + InputPoint3 = point30_3, + InputPoint4 = point30_4, + IsCurveInserted = false, + ExpectedPoint1 = point30_1, + ExpectedPoint2 = point30_2, + ExpectedPoint3 = point30_3, + ExpectedPoint4 = point30_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 30: p1--p2/p3--p4 keep c1(p1,p2) , keep c2(p3-p4)"); + + var point31_1 = new Point2D(4.0, 4.0); + var point31_2 = new Point2D(2.0, 2.0); + var point31_3 = point31_2; + var point31_4 = new Point2D(0.0, 0.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point31_1, + InputPoint2 = point31_2, + InputPoint3 = point31_3, + InputPoint4 = point31_4, + IsCurveInserted = false, + ExpectedPoint1 = point31_1, + ExpectedPoint2 = point31_2, + ExpectedPoint3 = point31_3, + ExpectedPoint4 = point31_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 31: p4--p2/p3--p1 keep c1(p1,p2) , keep c2(p3-p4)"); + + var point32_1 = new Point2D(0.0, 0.0); + var point32_2 = new Point2D(4.0, 4.0); + var point32_3 = point32_2; + var point32_4 = new Point2D(2.0, 2.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point32_1, + InputPoint2 = point32_2, + InputPoint3 = point32_3, + InputPoint4 = point32_4, + IsCurveInserted = false, + ExpectedPoint1 = point32_1, + ExpectedPoint2 = point32_4, + ExpectedPoint3 = point32_3, + ExpectedPoint4 = point32_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 32: p1--p4--p2/p3 split c1(p1,p4) , keep c2(p3-p4)"); + + var point33_1 = new Point2D(2.0, 2.0); + var point33_2 = new Point2D(4.0, 4.0); + var point33_3 = point33_2; + var point33_4 = new Point2D(0.0, 0.0); + yield return new TestCaseData( + new TestCaseCurvesToBeTestedForParallelCurves + { + TestNumber = 1, + InputPoint1 = point33_1, + InputPoint2 = point33_2, + InputPoint3 = point33_3, + InputPoint4 = point33_4, + IsCurveInserted = false, + ExpectedPoint1 = point33_1, + ExpectedPoint2 = point33_2, + ExpectedPoint3 = point33_1, + ExpectedPoint4 = point33_4, + ExpectedPoint5 = null, + ExpectedPoint6 = null + }).SetName("Test 32: p4--p1--p2/p3 keep c1(p1,p2) , split c2(p1-p4)"); } } } \ No newline at end of file