def test_point_in_planetau(self): """Check if point is in planetau""" planetau = Planetau(utils.Coordinates2D(5, 100)) self.assertEqual(True, utils.Coordinates2D(5, 100) in planetau) self.assertEqual(False, utils.Coordinates2D(100, 5) in planetau) self.assertEqual(False, utils.Coordinates2D(-100, 5) in planetau) self.assertEqual(False, utils.Coordinates2D(100, -5) in planetau) self.assertEqual(False, "str" in planetau)
def test_send_command_move_valid(self): """Check movind on 1 step according to direction""" rc = RoverController(self._planetau, self._rover) rc.sendCommand("L") rc.sendCommand("M") self.assertEqual(rc.marsRover.position, utils.Coordinates2D(4, 100)) rc.sendCommand("L") rc.sendCommand("M") self.assertEqual(rc.marsRover.position, utils.Coordinates2D(4, 99)) rc.sendCommand("L") rc.sendCommand("M") self.assertEqual(rc.marsRover.position, utils.Coordinates2D(5, 99)) rc.sendCommand("L") rc.sendCommand("M") self.assertEqual(rc.marsRover.position, utils.Coordinates2D(5, 100))
def test_properties(self): """Check setters of properties""" rover = Rover(utils.Coordinates2D(5, 100), "N") self.assertRaises(ValueError, setattr, rover, "position", "position") self.assertRaises(ValueError, setattr, rover, "position", 100) self.assertRaises(ValueError, setattr, rover, "direction", "K") self.assertRaises(ValueError, setattr, rover, "direction", 100)
def test_send_invalid_command(self): """Chek send invalid command to Rover""" point = utils.Coordinates2D(5, 100) rc = RoverController(Planetau(point), Rover(point, "N")) self.assertRaises(ValueError, rc.sendCommand, "X") self.assertRaises(ValueError, rc.sendCommand, 500)
def test_init_with_valid_input(self): """Check Rover with valid arguments""" direction = "N" point = utils.Coordinates2D(5, 100) rover = Rover(point, direction) self.assertEqual(rover.position, point) self.assertEqual(rover.direction, direction)
def parseInputs(self, data): """Parse test inputs""" coord = data.pop(0).split() try: self.planetau = Planetau( utils.Coordinates2D(int(coord[0]), int(coord[1]))) while data: tmp = data.pop(0).split() rover = Rover(utils.Coordinates2D(int(tmp[0]), int(tmp[1])), tmp[2]) self.__roverControllers.append( RoverController(self.planetau, rover)) self.__commands.append(list(data.pop(0).strip())) except Exception as e: self.planetau = None self.__roverControllers[:] self.__commands[:] raise e
def test_init_with_invalid_input(self): """Check planetau with invalid arguments""" point = utils.Coordinates2D(-100, 100) planetau = Planetau(point) self.assertNotEqual(planetau.maxCoordinates, point) self.assertEqual(planetau.maxCoordinates, None)
def test_init_with_invalid_input(self): """Check RoverController with point out of planetau""" rover = Rover(utils.Coordinates2D(100, 100), self._direction) self.assertRaises(ValueError, RoverController, self._planetau, rover)
def setUp(self): """Setup parameters to test with""" self._point = utils.Coordinates2D(5, 100) self._direction = "N" self._planetau = Planetau(self._point) self._rover = Rover(self._point, self._direction)
def test_init_with_invalid_input(self): """Check Rover with invalid arguments""" self.assertRaises(ValueError, Rover, "N", "N") self.assertRaises(ValueError, Rover, utils.Coordinates2D(5, 100), "K") self.assertRaises(ValueError, Rover, "N", "K")