Пример #1
0
def test_rover_position_empty():
    rover = Rover()
    rover.position.x = 10
    rover.move()
    assert (rover.position.x == 0)
    assert (rover.position.y == 0)
    assert (rover.position.orientation == RoverOrientation.NORTH)
    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_turns_right_when_it_receives_r_commmand_and_is_oriented_south(
            self):
        # given
        rover = Rover(5, 5, Direction.SOUTH)
        command_list = []
        command_list.append(Command.RIGHT)

        # when
        rover.move(command_list)

        # then
        assert rover.getOrientation() == (Direction.WEST)
    def test_that_it_turns_left_when_it_receives_l_commmand_and_is_oriented_est(
            self):
        # given
        rover = Rover(5, 5, Direction.EST)
        command_list = []
        command_list.append(Command.LEFT)

        # when
        rover.move(command_list)

        # then
        assert rover.getOrientation() == (Direction.NORTH)
    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_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_should_stop_after_encountering_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.getWorking() == False
    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)
Пример #9
0
class Wholesomebot():
    def __init__(self):
        print('> Wholesomebot')
        self.rover = Rover()

    def setup(self):
        self.rover.setup()

    def start(self):
        print('> Wholesomebot.started')
        while (True):
            self.rover.update()
            time.sleep(0.01)
    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)
Пример #13
0
    def test_rover_can_move_forward(self):
        rover = Rover(5, 5, 'N')
        rover.move_forward()
        current = rover.get_current_location()
        assert current['y'] == 6

        rover.rotate_left()
        rover.move_forward()
        current = rover.get_current_location()
        assert current['y'] == 6
        assert current['x'] == 4
        assert current['heading'] == 'W'
Пример #14
0
    def test_rover_can_rotate_left(self):
        rover = Rover(5, 5, 'N')
        headings = ['N', 'W', 'S', 'E', 'N', 'W', 'S', 'E']

        for i in headings:
            rover.rotate_left()
            location = rover.get_current_location()
            if i == 'N':
                assert location['heading'] == 'W'

            elif i == 'S':
                assert location['heading'] == 'E'

            elif i == 'E':
                assert location['heading'] == 'N'

            elif i == 'W':
                assert location['heading'] == 'S'
    def test_that_show_mars_with_obstacle_and_rover_position(self):
        # given
        rover = Rover(5, 5, Direction.EST)

        # when
        rover.createMapMars()

        # then
        assert rover.createMapMars() == \
               '.........O\n' \
               + '..........\n' \
               + '..........\n' \
               + '..........\n' \
               + '..........\n' \
               + '.....R....\n' \
               + '..........\n' \
               + '..........\n' \
               + '..........\n' \
               + '..........\n'
Пример #16
0
def test_rover_initialization():
    rover = Rover()
    assert (rover.position.x == 0)
    assert (rover.position.y == 0)
    assert (rover.position.orientation == RoverOrientation.NORTH)
Пример #17
0
def test_rover_lands_on_planet():
    planet = Planet.factory(PlanetType.MARS)
    rover = Rover()
    rover.land(planet)
    assert rover.planet == planet
Пример #18
0
def test_rover_turns_right():
    rover = Rover()
    rover.move('r')
    assert (rover.position.x == 0)
    assert (rover.position.y == 0)
    assert (rover.position.orientation == RoverOrientation.EAST)
Пример #19
0
 def __init__(self):
     print('> Wholesomebot')
     self.rover = Rover()
    def test_that_it_returns_orientation(self):
        # given
        rover = Rover(0, 0, Direction.NORTH)

        # then
        assert rover.getOrientation() == Direction.NORTH
from app.rover import Rover
from app.commands import Command

rover = Rover(5, 5, 'E')
command_list = []
command_list.append(Command.FORWARD)
command_list.append(Command.FORWARD)
command_list.append(Command.FORWARD)
command_list.append(Command.FORWARD)
rover.move(command_list)
    def test_that_it_returns_coordinates(self):
        # given
        rover = Rover(0, 0, Direction.NORTH)

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