Exemplo n.º 1
0
    def test_invalid_instructions(self):
        plateau = Plateau(5, 5)
        ctrl = Controller(plateau)
        ctrl.land_rover(x=2, y=2, heading=c.WEST, name='rover1')

        self.assertRaises(ValueError,
                          ctrl.instructions,
                          rover_name='rover1',
                          instructions_str='XYRMMRMRRM')
Exemplo n.º 2
0
    def test_when_rover_lands_with_valid_params(self):
        plateau = Plateau(5, 5)
        ctrl = Controller(plateau)
        ctrl.land_rover(x=2, y=2, heading=c.WEST, name='rover1')

        rover = ctrl.dict_rover['rover1']

        self.assertEqual(rover.x_pos, 2)
        self.assertEqual(rover.y_pos, 2)
        self.assertEqual(rover.heading, c.WEST)
Exemplo n.º 3
0
    def test_instruction_causing_collision(self):
        plateau = Plateau(5, 5)
        ctrl = Controller(plateau)
        ctrl.land_rover(x=2, y=2, heading=c.WEST, name='rover1')

        ctrl.land_rover(x=3, y=2, heading=c.WEST, name='rover2')

        self.assertRaises(CollisionException,
                          ctrl.instructions,
                          rover_name='rover2',
                          instructions_str='M')
Exemplo n.º 4
0
    def test_valid_instruction(self):
        plateau = Plateau(5, 5)
        ctrl = Controller(plateau)

        ctrl.land_rover(x=3, y=3, heading=c.EAST, name='rover1')
        ctrl.instructions('rover1', 'MMRMMRMRRM')
        rover1 = ctrl.dict_rover['rover1']

        ctrl.land_rover(x=1, y=2, heading=c.NORTH, name='rover2')
        ctrl.instructions('rover2', 'LMLMLMLMM')
        rover2 = ctrl.dict_rover['rover2']

        self.assertEquals(rover1.x_pos, 5)
        self.assertEquals(rover1.y_pos, 1)
        self.assertEquals(rover1.heading, c.EAST)

        self.assertEquals(rover2.x_pos, 1)
        self.assertEquals(rover2.y_pos, 3)
        self.assertEquals(rover2.heading, c.NORTH)
Exemplo n.º 5
0
 def test_landing_collision_position(self):
     plateau = Plateau(5, 5)
     ctrl = Controller(plateau)
     ctrl.land_rover(x=2, y=2, heading=c.WEST, name='rover1')
     self.assertRaises(CollisionException, ctrl.land_rover, x=2, y=2,
                       heading=c.WEST, name='rover2')