예제 #1
0
        public BounceDirection.Direction GetDirectionsFromCoordinates(List <Coordinates> coordinates)
        {
            List <Direction> directionsToProcess = new List <Direction>();
            TTPointsEngine   pointsEngine        = new TTPointsEngine();

            for (int i = 0; i < coordinates.Count; i++)
            {
                directionsToProcess.Add(pointsEngine.DetermineDirectionOfBall(coordinates[i], coordinates[i + 1]));
            }
            return(BounceDirection(directionsToProcess));
        }
예제 #2
0
        public void DetermineDirectionOfBall_WhenBallTravelsSouthWest()
        {
            var pointsEngine = new TTPointsEngine();

            Coordinates previousPosition = new Coordinates(5, 1);
            Coordinates currentPosition  = new Coordinates(3, 5);

            var result = pointsEngine.DetermineDirectionOfBall(previousPosition, currentPosition);

            Assert.AreEqual(Direction.SouthWest, result);
        }
예제 #3
0
        public void DetermineDirectionOfBall_WhenBallTravelsNorth()
        {
            var pointsEngine = new TTPointsEngine();

            Coordinates previousPosition = new Coordinates(5, 6);
            Coordinates currentPosition  = new Coordinates(5, 3);

            var result = pointsEngine.DetermineDirectionOfBall(previousPosition, currentPosition);

            Assert.AreEqual(Direction.North, result);
        }
예제 #4
0
        public void DetermineDirectionOfBall_WhenWeGet2Coordinates_GivesADirection()
        {
            var pointsEngine = new TTPointsEngine();

            Coordinates firstPoint  = new Coordinates(3, 1);
            Coordinates secondPoint = new Coordinates(5, 4);

            var result = pointsEngine.DetermineDirectionOfBall(firstPoint, secondPoint);

            Assert.IsTrue(result.GetType() == typeof(Direction));
        }