Ejemplo n.º 1
0
        public void TestCalculateCartesianDistance(double x1, double y1, double x2, double y2, double expectedDistance)
        {
            var point1            = new Point(x1, y1);
            var point2            = new Point(x2, y2);
            var geometryUtilities = new GeometryUtilities();
            var distance          = geometryUtilities.CalculateCartesianDistance(point1, point2);

            Assert.LessOrEqual(Math.Abs(distance - expectedDistance), Epsilon);
        }
Ejemplo n.º 2
0
        public void TestGetVertices(int numSides, int sideLength)
        {
            var geometryUtilities = new GeometryUtilities();
            var polygon           = new RegularPolygon(numSides, sideLength, new Point(0, 0), new Angle(0, MeasurementType.Radians));
            var actualPoints      = polygon.Vertices.ToArray();
            var expectedPoints    = numSidesToPointOrientationDictionary[numSides].ToArray();

            Assert.AreEqual(expectedPoints.Length, actualPoints.Length);
            for (int i = 0; i < actualPoints.Length; i++)
            {
                Assert.LessOrEqual(Math.Abs(expectedPoints[0].Radians - actualPoints[0].Theta.Radians), Epsilon);
                Assert.LessOrEqual(
                    Math.Abs(geometryUtilities.CalculateCartesianDistance(actualPoints[i], actualPoints[(i + 1) % numSides]) - 2),
                    Epsilon
                    );
                Assert.LessOrEqual(
                    Math.Abs(actualPoints[i].R - (double)sideLength / (2 * Math.Sin(Math.PI / (double)numSides))),
                    Epsilon
                    );
            }
        }