コード例 #1
0
        public void ComputeDistance_CoordinateLineLineSegmentMode_ReturnsPointDistanceIfABAreEquals()
        {
            Coordinate A = new Coordinate(1, 1);
            Coordinate B = new Coordinate(1, 1);
            Coordinate c = new Coordinate(1, 2);

            Euclidean2DCalculator target = new Euclidean2DCalculator();

            double distance = target.CalculateDistance(c, A, B, LineMode.LineSegment);
            Assert.Equal(1, distance);
        }
コード例 #2
0
        public void ComputeDistance_CoordinateLineLineSegmentMode_ReturnsZeroIfPointLiesOnLineSegment(Coordinate c, Coordinate A, Coordinate B)
        {
            Euclidean2DCalculator target = new Euclidean2DCalculator();

            double distance = target.CalculateDistance(c, A, B, LineMode.LineSegment);
            Assert.Equal(0, distance);
        }
コード例 #3
0
        public void ComputeDistance_CoordinateLineLineSegmentMode_ReturnsDistanceToEndPointsIfPointsProjectionLiesOutsideSegment()
        {
            Coordinate A = new Coordinate(1, 1);
            Coordinate B = new Coordinate(-1, -1);
            Coordinate c1 = new Coordinate(1,2);
            Coordinate c2 = new Coordinate(-1,-2);

            Euclidean2DCalculator target = new Euclidean2DCalculator();

            double distanceC1 = target.CalculateDistance(c1, A, B, LineMode.LineSegment);
            Assert.Equal(1, distanceC1);

            double distanceC2 = target.CalculateDistance(c2, A, B, LineMode.LineSegment);
            Assert.Equal(1, distanceC2);
        }
コード例 #4
0
        public void ComputeDistance_CoordinateLineLineSegmentMode_ComputesPerpendicularDistanceToLineIfPointsProjectionLiesInside(Coordinate c, Coordinate A, Coordinate B, double expectedDistance)
        {
            Euclidean2DCalculator target = new Euclidean2DCalculator();

            double distance = target.CalculateDistance(c, A, B, LineMode.LineSegment);
            Assert.Equal(expectedDistance, distance);
        }
コード例 #5
0
        public void ComputeDistance_CoordinateCoordinate_ReturnsZeroForPointsWithSameXYCoordinates(Coordinate c1, Coordinate c2)
        {
            Euclidean2DCalculator target = new Euclidean2DCalculator();

            double distance = target.CalculateDistance(c1, c2);

            Assert.Equal(0, distance);
        }
コード例 #6
0
        public void ComputeDistance_CoordinateCoordinate_ReturnsDistanceBetweenCoordinates(Coordinate c1, Coordinate c2, double expectedDistance)
        {
            Euclidean2DCalculator target = new Euclidean2DCalculator();

            double distance = target.CalculateDistance(c1, c2);

            Assert.Equal(expectedDistance, distance);
        }
コード例 #7
0
        public void ComputeDistance_CoordinateCoordinate_IgnoresZOrdinate()
        {
            Euclidean2DCalculator target = new Euclidean2DCalculator();

            double distance = target.CalculateDistance(new Coordinate(-1, 0, 100), new Coordinate(1, 0, -100));

            Assert.Equal(2, distance);
        }