public static void polygon_union(PolyPairTestData testData) { Console.WriteLine(testData.Name); if (testData.Name == "Nested: hole within a fill, not touching") { return; // infinite spaaaaaaaace } var result = _unionOperation.Union(testData.A, testData.B) as Polygon2; if (null != testData.R) { Assert.NotNull(result); testData.R.SpatiallyEqual(result).Should().BeTrue("Forward case failed: {0} u {1} ≠ {2}", testData.A, testData.B, PolygonToString(result)); } else { Assert.Null(result); } result = _unionOperation.Union(testData.B, testData.A) as Polygon2; if (null != testData.R) { Assert.NotNull(result); testData.R.SpatiallyEqual(result).Should().BeTrue("Reverse case failed: {0} u {1} ≠ {2}", testData.B, testData.A, PolygonToString(result)); } else { Assert.Null(result); } }
public static void zig_zag_thing() { var data = _polyPairData["Zig-zag Thing"]; var unionOperation = new PolygonUnionOperation(); var result = unionOperation.Union(data.A, data.B) as Polygon2; Assert.NotNull(result); Assert.True(result.SpatiallyEqual(data.R)); result = unionOperation.Union(data.B, data.A) as Polygon2; Assert.NotNull(result); Assert.True(result.SpatiallyEqual(data.R)); }