示例#1
0
        public void TryMoveAhead_NullPosition_ThrowArgumentNullException()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

            //Act and Assert
            var exception = Assert.Throws <ArgumentNullException>(() => cardinalDirectionManager.TryMoveAhead(null));

            Assert.AreEqual("Value cannot be null. (Parameter 'position')", exception.Message);
        }
示例#2
0
        public void TurnLeft_FromEast_ToNorth()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

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

            //Assert
            Assert.AreEqual(CardinalDirection.NORTH, leftFacing.CardinalDirection);
        }
示例#3
0
        public void TurnRight_FromEast_ToSouth()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

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

            //Assert
            Assert.AreEqual(CardinalDirection.SOUTH, rightFacing.CardinalDirection);
        }
示例#4
0
        public void CardinalDirection_ReadCardinalDirection_East()
        {
            //Arrange
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

            //Act
            CardinalDirection cardinalDirection = cardinalDirectionManager.CardinalDirection;

            //Assert
            Assert.AreEqual(CardinalDirection.EAST, cardinalDirection);
        }
示例#5
0
        public void TryMoveAhead_FromEastestPosition_DontMove()
        {
            //Arrange
            var currentPosition = new Position(4, 0);
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

            //Act
            Position finalPosition = cardinalDirectionManager.TryMoveAhead(currentPosition);

            //Assert
            Assert.AreEqual(4, finalPosition.X);
            Assert.AreEqual(0, finalPosition.Y);
        }
示例#6
0
        public void TryMoveAhead_FromNotBorderPosition_IncreaseX()
        {
            //Arrange
            var currentPosition = new Position(1, 1);
            ICardinalDirectionManager cardinalDirectionManager = new EastManager();

            //Act
            Position finalPosition = cardinalDirectionManager.TryMoveAhead(currentPosition);

            //Assert
            Assert.AreEqual(2, finalPosition.X);
            Assert.AreEqual(1, finalPosition.Y);
        }