public void ShouldReturn0WhenMovingWestFromFieldWith0XValue()
        {
            // arrange
            var initialField = new Field
            {
                X = 0
            };

            var handler = new MoveWestCommandHandler();

            // act
            var newField = handler.Move(initialField);

            // assert
            Assert.AreEqual(0, newField.X);
        }
        public void ShouldBeAbleToHandleCommandWhenMoveDirectionIsWest()
        {
            // arrange
            var command = new MoveForwardCommand
            {
                Direction = Directions.Directions.West
            };

            var handler = new MoveWestCommandHandler();

            // act
            var canHandle = handler.CanHandle(command);

            // assert
            Assert.IsTrue(canHandle);
        }
        public void ShouldReturnFieldXDecreasedByOneWhenMovingWestFromFieldWithPositiveXValue()
        {
            // arrange
            var initialField = new Field
            {
                X = 2
            };

            var handler = new MoveWestCommandHandler();

            // act
            var newField = handler.Move(initialField);

            // assert
            Assert.AreEqual(1, newField.X);
        }