def test_state(self): """ Tests valid state: x y direction """ rover = Rover(**self.initial) rover.command("LLLLM") self.assertTrue(rover.state().endswith("1 2 N"), rover.state())
def test_command(self): """ Tests rover command """ rover = Rover(**self.initial) rover.command("LRLR") self.assertEqual(rover.position_x, self.initial.get("x")) self.assertEqual(rover.position_y, self.initial.get("y")) self.assertEqual(rover.compass.state, Compass.N)
def test_accept_outside(self): """ Tests rover lands outside the plateau """ plateau = Plateau(**self.plateau_default) rover = Rover(**self.rover_default) rover.command("M" * 10) with self.assertRaises(NasaException): plateau.accept(rover)
def test_move(self): """ Tests rover move """ rover = Rover(**self.initial) rover.move() self.assertEqual(rover.position_x, 1) self.assertEqual(rover.position_y, 2) rover.command("LMRM") self.assertEqual(rover.position_x, 0) self.assertEqual(rover.position_y, 3)