def test_rover_can_go_forward_twice_going_north(): rov = Rover( pos=Vector(x=0, y=0), planet_size=Vector(x=10, y=10), dir=Direction.NORTH ) rov.forward() rov.forward() assert rov.pos == Vector(x=0, y=2)
def test_forward_movement_west(self): rover = Rover(5, 5, 'W', 100, 100) rover = rover.forward() self.assertEqual(rover.get_position(), (4, 5)) rover = rover.forward() self.assertEqual(rover.get_position(), (3, 5))
def test_forward_movement_south(self): rover = Rover(5, 5, 'S', 100, 100) rover = rover.forward() self.assertEqual(rover.get_position(), (5, 6)) rover = rover.forward() self.assertEqual(rover.get_position(), (5, 7))
def test_forward_movement_east(self): rover = Rover(5, 5, 'E', 100, 100) rover = rover.forward() self.assertEqual(rover.get_position(), (6, 5)) rover = rover.forward() self.assertEqual(rover.get_position(), (7, 5))
def test_forward_movement_north(self): rover = Rover(5, 5, 'N', 100, 100) rover = rover.forward() self.assertEqual(rover.get_position(), (5, 4)) rover = rover.forward() self.assertEqual(rover.get_position(), (5, 3))
def test_wrap_movement_forward_west(self): rover = Rover(0, 0, 'W', 4, 4) rover = rover.forward() self.assertEqual(rover.get_position(), (3, 0))
def test_wrap_movement_forward_south(self): rover = Rover(0, 3, 'S', 4, 4) rover = rover.forward() self.assertEqual(rover.get_position(), (0, 0))
def test_wrap_movement_forward_north(self): rover = Rover(0, 0, 'N', 4, 4) rover = rover.forward() self.assertEqual(rover.get_position(), (0, 3))
def test_rover_can_wrap_over_east_west(): rov = Rover( pos=Vector(x=9, y=0), planet_size=Vector(x=10, y=10), dir=Direction.EAST ) rov.forward() assert rov.pos == Vector(x=0, y=0)
def test_rover_can_wrap_over_north_south(): rov = Rover( pos=Vector(x=0, y=9), planet_size=Vector(x=10, y=10), dir=Direction.NORTH ) rov.forward() assert rov.pos == Vector(x=0, y=0)
def test_rover_can_go_forward_going_west(): rov = Rover( pos=Vector(x=1, y=0), planet_size=Vector(x=10, y=10), dir=Direction.WEST ) rov.forward() assert rov.pos == Vector(x=0, y=0)
def test_rover_can_go_forward_going_south(): rov = Rover( pos=Vector(x=0, y=1), planet_size=Vector(x=10, y=10), dir=Direction.SOUTH ) rov.forward() assert rov.pos == Vector(x=0, y=0)
def kill_procs(pid): parent = psutil.Process(pid) for child in parent.children(recursive=True): child.kill() #proc = start_stream("../mjpg-streamer/mjpg-streamer-experimental/") pid = os.getpid() proc_tracking = Process(target=start_manager, args=(rover, )) proc_tracking.start() while True: key = getch() if key == "w": rover.forward() if key == "s": rover.backward() if key == "a": rover.left() if key == "d": rover.right() if key == "e": rover.cleanup() kill_procs(pid) sys.exit() #end_stream(proc) sleep(0.1) rover.motors_low() key = ""