public virtual void TestPolylinePolylineRelate() { com.esri.core.geometry.OperatorRelate op = com.esri.core.geometry.OperatorRelate.Local(); com.esri.core.geometry.SpatialReference sr = com.esri.core.geometry.SpatialReference.Create(4326); bool res; string scl; com.esri.core.geometry.Polyline polyline1 = new com.esri.core.geometry.Polyline(); com.esri.core.geometry.Polyline polyline2 = new com.esri.core.geometry.Polyline(); polyline1.StartPath(0, 0); polyline1.LineTo(1, 1); polyline2.StartPath(1, 1); polyline2.LineTo(2, 0); scl = "FF1FT01T2"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "****TF*T*"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); scl = "****F****"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); scl = "**1*0*T**"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "****1****"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); scl = "**T*001*T"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "T********"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); scl = "F********"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(0, 0); polyline1.LineTo(1, 0); polyline2.StartPath(0, 0); polyline2.LineTo(1, 0); scl = "1FFFTFFFT"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "1*T*T****"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); scl = "1T**T****"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(0, 0); polyline1.LineTo(0.5, 0.5); polyline1.LineTo(1, 1); polyline2.StartPath(1, 0); polyline2.LineTo(0.5, 0.5); polyline2.LineTo(0, 1); scl = "0F1FFTT0T"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "*T*******"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); scl = "*F*F*****"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(0, 0); polyline1.LineTo(1, 0); polyline2.StartPath(1, -1); polyline2.LineTo(1, 1); scl = "FT1TF01TT"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(!res); scl = "***T*****"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(0, 0); polyline1.LineTo(0, 20); polyline1.LineTo(20, 20); polyline1.LineTo(20, 0); polyline1.LineTo(0, 0); // has no boundary polyline2.StartPath(3, 3); polyline2.LineTo(5, 5); op.AccelerateGeometry(polyline1, sr, com.esri.core.geometry.Geometry.GeometryAccelerationDegree.enumHot); scl = "FF1FFF102"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(4, 0); polyline1.LineTo(0, 4); polyline1.LineTo(4, 8); polyline1.LineTo(8, 4); polyline2.StartPath(8, 1); polyline2.LineTo(8, 2); op.AccelerateGeometry(polyline1, sr, com.esri.core.geometry.Geometry.GeometryAccelerationDegree.enumHot); scl = "FF1FF0102"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(4, 0); polyline1.LineTo(0, 4); polyline2.StartPath(3, 2); polyline2.LineTo(3, 2); NUnit.Framework.Assert.IsTrue(polyline2.GetBoundary().IsEmpty()); scl = "******0F*"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline2.LineTo(3, 2); NUnit.Framework.Assert.IsTrue(polyline2.GetBoundary().IsEmpty()); scl = "******0F*"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "******0F*"; polyline2.LineTo(3, 2); NUnit.Framework.Assert.IsTrue(polyline2.GetBoundary().IsEmpty()); res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(3, 3); polyline1.LineTo(3, 4); polyline1.LineTo(3, 3); polyline2.StartPath(1, 1); polyline2.LineTo(1, 1); scl = "FF1FFF0F2"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "FF0FFF1F2"; res = op.Execute(polyline2, polyline1, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline1.SetEmpty(); polyline2.SetEmpty(); polyline1.StartPath(4, 0); polyline1.LineTo(0, 4); polyline2.StartPath(2, 2); polyline2.LineTo(2, 2); scl = "0F*******"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); polyline2.LineTo(2, 2); scl = "0F*******"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); scl = "0F*******"; res = op.Execute(polyline1, polyline2, sr, scl, null); NUnit.Framework.Assert.IsTrue(res); }