コード例 #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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
    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)
コード例 #6
0
    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)
コード例 #7
0
    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
コード例 #8
0
    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)
コード例 #10
0
    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)
コード例 #11
0
    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)
コード例 #12
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
ファイル: test_rover.py プロジェクト: Interactiveme/MarsRover
    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
ファイル: test_rover.py プロジェクト: Interactiveme/MarsRover
    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'
コード例 #15
0
    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()
コード例 #20
0
    def test_that_it_returns_orientation(self):
        # given
        rover = Rover(0, 0, Direction.NORTH)

        # then
        assert rover.getOrientation() == Direction.NORTH
コード例 #21
0
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)
コード例 #22
0
    def test_that_it_returns_coordinates(self):
        # given
        rover = Rover(0, 0, Direction.NORTH)

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