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)
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)
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'
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'
def test_rover_initialization(): rover = Rover() assert (rover.position.x == 0) assert (rover.position.y == 0) assert (rover.position.orientation == RoverOrientation.NORTH)
def test_rover_lands_on_planet(): planet = Planet.factory(PlanetType.MARS) rover = Rover() rover.land(planet) assert rover.planet == planet
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)
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)