def test_that_it_rolls_backward_when_it_receives_b_commmand_and_is_oriented_est(
            self):
        # given
        rover = Rover(5, 5, Direction.EST)
        command_list = [Command.BACKWARD]

        # when
        rover.move(command_list)

        # then
        assert rover.getPosition() == (4, 5)
    def test_that_it_rolls_backward_when_it_receives_b_commmand_and_is_oriented_south(
            self):
        # given
        rover = Rover(5, 5, Direction.SOUTH)
        command_list = []
        command_list.append(Command.BACKWARD)

        # when
        rover.move(command_list)

        # then
        assert rover.getPosition() == (5, 6)
    def test_that_it_rolls_forward_when_it_receives_f_commmand_and_is_oriented_est(
            self):
        # given
        rover = Rover(5, 5, Direction.EST)
        command_list = []
        command_list.append(Command.FORWARD)

        # when
        rover.move(command_list)

        # then
        assert rover.getPosition() == (6, 5)
    def test_that_dont_move_backward_oriented_est_when_there_is_an_obstacle(
            self):
        # given
        rover = Rover(0, 9, Direction.EST)

        command_list = []
        command_list.append(Command.BACKWARD)

        # when
        rover.move(command_list)

        # then
        assert rover.getPosition() == (0, 9)
    def test_that_dont_move_forward_oriented_south_when_there_is_an_obstacle(
            self):
        # given
        rover = Rover(9, 0, Direction.SOUTH)

        command_list = []
        command_list.append(Command.FORWARD)

        # when
        rover.move(command_list)

        # then
        assert rover.getPosition() == (9, 0)
    def test_that_it_can_roll_over_backward_from_one_edge_of_the_grid_to_another_and_is_oriented_est(
            self):
        # given
        rover = Rover(0, 5, Direction.EST)

        command_list = []
        command_list.append(Command.BACKWARD)

        # when
        rover.move(command_list)

        # then
        assert rover.getPosition() == (9, 5)
    def test_that_it_can_roll_over_forward_from_one_edge_of_the_grid_to_another_and_is_oriented_sud(
            self):
        # given
        rover = Rover(5, 0, Direction.SOUTH)

        command_list = []
        command_list.append(Command.FORWARD)

        # when
        rover.move(command_list)

        # then
        assert rover.getPosition() == (5, 9)
    def test_that_it_returns_coordinates(self):
        # given
        rover = Rover(0, 0, Direction.NORTH)

        # that
        assert rover.getPosition() == (0, 0)