public void Protected_IsPointInPolygonOrOnEdge()
        {
            XYPolygon p1 = new XYPolygon();

            p1.Points.Add(new XYPoint(0, 3));
            p1.Points.Add(new XYPoint(3, 0));
            p1.Points.Add(new XYPoint(8, 0));
            p1.Points.Add(new XYPoint(8, 2));
            p1.Points.Add(new XYPoint(3, 1));
            p1.Points.Add(new XYPoint(3, 3));
            p1.Points.Add(new XYPoint(8, 3));
            p1.Points.Add(new XYPoint(4, 7));
            Assert.AreEqual(true, AXYGeometryTools.AIsPointInPolygonOrOnEdge(0, 3, p1), "Test1");
            Assert.AreEqual(true, AXYGeometryTools.AIsPointInPolygonOrOnEdge(1, 3, p1), "Test2");
            Assert.AreEqual(false, AXYGeometryTools.AIsPointInPolygonOrOnEdge(1, 5, p1), "Test3");
            Assert.AreEqual(true, AXYGeometryTools.AIsPointInPolygonOrOnEdge(3, 2, p1), "Test4");
            Assert.AreEqual(true, AXYGeometryTools.AIsPointInPolygonOrOnEdge(3, 3, p1), "Test5");
            Assert.AreEqual(true, AXYGeometryTools.AIsPointInPolygonOrOnEdge(6, 1, p1), "Test6");
            Assert.AreEqual(false, AXYGeometryTools.AIsPointInPolygonOrOnEdge(6, 2, p1), "Test7");
            Assert.AreEqual(false, AXYGeometryTools.AIsPointInPolygonOrOnEdge(6, 7, p1), "Test8");
        }