Exemplo n.º 1
0
        public void TurnLeft_FromNorth_ToWest()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new NorthManager();

            //Act
            ICardinalDirectionManager leftFacing = cardinalDirectionManager.TurnLeft();

            //Assert
            Assert.AreEqual(CardinalDirection.WEST, leftFacing.CardinalDirection);
        }
Exemplo n.º 2
0
        public void TurnLeft_FromWest_ToSouth()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new WestManager();

            //Act
            ICardinalDirectionManager leftFacing = cardinalDirectionManager.TurnLeft();

            //Assert
            Assert.AreEqual(CardinalDirection.SOUTH, leftFacing.CardinalDirection);
        }
Exemplo n.º 3
0
        public void TurnRight_FromNorth_ToEast()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new NorthManager();

            //Act
            ICardinalDirectionManager rightFacing = cardinalDirectionManager.TurnRight();

            //Assert
            Assert.AreEqual(CardinalDirection.EAST, rightFacing.CardinalDirection);
        }
Exemplo n.º 4
0
        public void TurnRight_FromWest_ToNorth()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new WestManager();

            //Act
            ICardinalDirectionManager rightFacing = cardinalDirectionManager.TurnRight();

            //Assert
            Assert.AreEqual(CardinalDirection.NORTH, rightFacing.CardinalDirection);
        }
Exemplo n.º 5
0
        public void TurnLeft_FromEast_ToNorth()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

            //Act
            ICardinalDirectionManager leftFacing = cardinalDirectionManager.TurnLeft();

            //Assert
            Assert.AreEqual(CardinalDirection.NORTH, leftFacing.CardinalDirection);
        }
Exemplo n.º 6
0
        public void TurnRight_FromEast_ToSouth()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

            //Act
            ICardinalDirectionManager rightFacing = cardinalDirectionManager.TurnRight();

            //Assert
            Assert.AreEqual(CardinalDirection.SOUTH, rightFacing.CardinalDirection);
        }
Exemplo n.º 7
0
        private static PlaceArguments GetPlaceArguments(string arguments)
        {
            string[] placeArguments = arguments.Split(',');
            if (placeArguments.Length != 3)
            {
                throw new InvalidOperationException($"invalid number of arguments for place command: {placeArguments.Length}");
            }
            if (!int.TryParse(placeArguments[0], out int x))
            {
                throw new InvalidOperationException($"x is not a number: {placeArguments[0]}");
            }
            if (!int.TryParse(placeArguments[1], out int y))
            {
                throw new InvalidOperationException($"y is not a number: {placeArguments[1]}");
            }

            ICardinalDirectionManager cardinalDirectionManager = GetCardinalDirectionManager(placeArguments[2]);

            return(new PlaceArguments()
            {
                Position = new Position(x, y),
                CardinalDirectionManager = cardinalDirectionManager
            });
        }
Exemplo n.º 8
0
 public CardinalDirection Left()
 {
     _cardinalDirectionManager = _cardinalDirectionManager.TurnLeft();
     return(_cardinalDirectionManager.CardinalDirection);
 }
Exemplo n.º 9
0
 public ToyRobot(Position position, ICardinalDirectionManager cardinalDirectionManager, IReportManager reportManager)
 {
     _position = position;
     _cardinalDirectionManager = cardinalDirectionManager;
     _reportManager            = reportManager;
 }