public void Polygon()
 {
     for (int i = 3; i < 9; i++)
     {
         var     polygon = new RegularPolygon(30.0 / i, i, PolygonOrientation.OnEdge);
         LineD[] lines   = GeoAlgorithms.ConnectPoints(true, polygon.Vertices);
         CheckSearch(lines);
     }
 }
        public void ConnectPoints()
        {
            PointD p0 = new PointD(0, 0), p1 = new PointD(1, 1), p2 = new PointD(2, 0);

            CollectionAssert.AreEqual(new LineD[0], GeoAlgorithms.ConnectPoints(false));
            CollectionAssert.AreEqual(new LineD[0], GeoAlgorithms.ConnectPoints(true));
            CollectionAssert.AreEqual(new LineD[0], GeoAlgorithms.ConnectPoints(false, p0));
            CollectionAssert.AreEqual(new LineD[0], GeoAlgorithms.ConnectPoints(true, p0));

            CollectionAssert.AreEqual(new[] { new LineD(p0, p1) },
                                      GeoAlgorithms.ConnectPoints(false, p0, p1));
            CollectionAssert.AreEqual(new[] { new LineD(p0, p1), new LineD(p1, p0) },
                                      GeoAlgorithms.ConnectPoints(true, p0, p1));

            CollectionAssert.AreEqual(new[] { new LineD(p0, p1), new LineD(p1, p2) },
                                      GeoAlgorithms.ConnectPoints(false, p0, p1, p2));
            CollectionAssert.AreEqual(new[] { new LineD(p0, p1), new LineD(p1, p2), new LineD(p2, p0) },
                                      GeoAlgorithms.ConnectPoints(true, p0, p1, p2));
        }