public void UpdateMarsRoverPosition(char direction, string commands, int currentXCoordinate, int currentYCoordinate, string expectedResult)
        {
            var marsRoverCommands = new MarsRoverCommands(grid);

            var state = new MarsRoverDefaultState(direction, currentXCoordinate, currentYCoordinate, commands);

            Assert.Equal(expectedResult, marsRoverCommands.ExecuteAllCommands(state));
        }
        public void SetupMarsRoverDefaultState()
        {
            var initialState = new MarsRoverDefaultState('N', 1, 1, string.Empty);

            var marsRoverState = new MarsRoverDefaultState(initialState);

            Assert.Equal('N', initialState.CurrentDirection);
            Assert.Equal(1, initialState.CurrentXCoordinate);
            Assert.Equal(1, initialState.CurrentYCoordinate);
            Assert.Equal(string.Empty, initialState.Commands);

            Assert.Equal(initialState.CurrentDirection, marsRoverState.CurrentDirection);
            Assert.Equal(initialState.CurrentXCoordinate, marsRoverState.CurrentXCoordinate);
            Assert.Equal(initialState.CurrentYCoordinate, marsRoverState.CurrentYCoordinate);
            Assert.Equal(initialState.Commands, marsRoverState.Commands);
        }