Ejemplo n.º 1
0
def deploy_rovers(inputs):
    """
    Create a new planet, with a plateau on which to deploy input rovers.
    :param inputs:
    :return:
    """
    # Get the length and width of the plateau
    length = inputs['plateau']['length']
    width = inputs['plateau']['width']
    
	# Get the list of rovers
    rovers = inputs['rovers']
    
	# Create a planet which will list all plateaus on the planet
    planet = models.Planet('Mars')
	
	# Create a plateau with the given length and width
    plateau = models.Plateau(length, width)
    
	# Add the plateau to the planet list of plateaus
    planet.add_plateau(plateau)
    
    for rover in rovers:
        # Create a new rover
        current_rover = models.Rover(rover['x'], rover['y'], rover['heading'])
        
        # Add the rover to the plateau		
        plateau.add_rover(current_rover)
        
        # Get the rover's commands		
        commands = rover['commands']
        for command in commands:
            # Command the rover
            current_rover.command_rover(command)
        print(current_rover.get_position())
Ejemplo n.º 2
0
    def test_rover_list(self):
        plateau = models.Plateau(5, 5)
        rover = models.Rover(1, 1, 'N')
        plateau.add_rover(rover)

        self.assertEqual(len(plateau.rover_list), 1)
        self.assertEqual(plateau.rover_list[0].x_pos, 1)
        self.assertEqual(plateau.rover_list[0].y_pos, 1)
        self.assertEqual(plateau.rover_list[0].heading, 'N')
Ejemplo n.º 3
0
    def test_command_rover_left(self):
        rover = models.Rover(1, 1, 'N')
        rover.command_rover('L')

        self.assertEqual(rover.heading, 'W')
Ejemplo n.º 4
0
    def test_turn_right(self):
        rover = models.Rover(1, 1, 'N')
        rover.turn_right()

        self.assertEqual(rover.heading, 'E')
Ejemplo n.º 5
0
    def test_move_south(self):
        rover = models.Rover(1, 1, 'S')
        rover.move()

        self.assertEqual(rover.y_pos, 0)
        self.assertEqual(rover.x_pos, 1)
Ejemplo n.º 6
0
    def test_move_north(self):
        rover = models.Rover(1, 1, 'N')
        rover.move()

        self.assertEqual(rover.y_pos, 2)
        self.assertEqual(rover.x_pos, 1)
Ejemplo n.º 7
0
    def test_move_east(self):
        rover = models.Rover(1, 1, 'E')
        rover.move()

        self.assertEqual(rover.x_pos, 2)
        self.assertEqual(rover.y_pos, 1)
Ejemplo n.º 8
0
    def test_rover(self):
        rover = models.Rover(1, 2, 'N')

        self.assertEqual(rover.x_pos, 1)
        self.assertEqual(rover.y_pos, 2)
        self.assertEqual(rover.heading, 'N')
Ejemplo n.º 9
0
    def test_command_rover_move(self):
        rover = models.Rover(1, 1, 'N')
        rover.command_rover('M')

        self.assertEqual(rover.x_pos, 1)
        self.assertEqual(rover.y_pos, 2)
Ejemplo n.º 10
0
    def test_command_rover_right(self):
        rover = models.Rover(1, 1, 'N')
        rover.command_rover('R')

        self.assertEqual(rover.heading, 'E')