Exemplo n.º 1
0
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)
Exemplo n.º 2
0
 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))
Exemplo n.º 3
0
 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))
Exemplo n.º 4
0
 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))
Exemplo n.º 5
0
 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))
Exemplo n.º 6
0
 def test_wrap_movement_forward_west(self):
     rover = Rover(0, 0, 'W', 4, 4)
     rover = rover.forward()
     self.assertEqual(rover.get_position(), (3, 0))
Exemplo n.º 7
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))
Exemplo n.º 8
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))
Exemplo n.º 9
0
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)
Exemplo n.º 10
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)
Exemplo n.º 11
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)
Exemplo n.º 12
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)
Exemplo n.º 13
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 = ""