示例#1
0
        public void MoveInDirection_MoveDownThenRight_DistanceToStartingPointIsRootOfTwo()
        {
            var coordinate    = new CartesianCoordinate(1, 1);
            var newCoordinate = coordinate.MoveInDirection(DirectionEnum.Down);

            newCoordinate = newCoordinate.MoveInDirection(DirectionEnum.Right);

            var expectedCoordinate = new CartesianCoordinate(2, 2);

            Assert.AreEqual(newCoordinate, expectedCoordinate);

            var distance = coordinate.Distance(newCoordinate);

            Assert.AreEqual(distance, Math.Sqrt(2), 0.00000001);
        }
示例#2
0
        public void Distance_ProvideTwoCoordinates_DistanceMeasuredMatchesExpectations()
        {
            var coordinateA = new CartesianCoordinate(0, 0);
            var coordinateB = new CartesianCoordinate(1, 0);

            Assert.AreEqual(coordinateA.Distance(coordinateB), 1.0, 0.00000001);

            var coordinateC = new CartesianCoordinate(1, 2);
            var coordinateD = new CartesianCoordinate(1, 1);

            Assert.AreEqual(coordinateC.Distance(coordinateD), 1.0, 0.00000001);

            var coordinateE = new CartesianCoordinate(1, 1);
            var coordinateF = new CartesianCoordinate(3, 3);

            Assert.AreEqual(coordinateE.Distance(coordinateF), 2.0 * Math.Sqrt(2), 0.00000001);
        }