diff --git a/rover.py b/rover.py
index f6f5235a89edd1ccfe38d13419f292601b70c895..7f8c17e98ff7c0fa3ee5ece6345973f60ad961d9 100644
--- a/rover.py
+++ b/rover.py
@@ -115,8 +115,11 @@ class Map:
class MissionControl:
- def __init__(self):
- pass
+ def __init__(self, rover:Rover):
+ self.rover = rover
+
+ def execute_command(self, cmd:str) -> str:
+ return self.rover.drive(cmd)
class TestRover(unittest.TestCase):
@@ -124,22 +127,30 @@ class TestRover(unittest.TestCase):
# Test Move Forward in Different Directions
def test_move_forward_north(self):
rover = Rover(0, 0, 'N')
- rover.move_forward()
+ control = MissionControl(rover)
+
+ control.execute_command('F')
self.assertEqual((rover.x, rover.y), (0,1))
-
+
def test_move_forward_south(self):
rover = Rover(0, 1, 'S')
- rover.move_forward()
- self.assertEqual((rover.x, rover.y), (0,0))
+ control = MissionControl(rover)
- def test_move_forward_east(self):
+ control.execute_command('F')
+ self.assertEqual((rover.x, rover.y), (0,0))
+
+ def test_move_forward_east(self):
rover = Rover(0, 0, 'E')
- rover.move_forward()
+ control = MissionControl(rover)
+
+ control.execute_command('F')
self.assertEqual((rover.x, rover.y), (1,0))
def test_move_forward_west(self):
rover = Rover(1, 0, 'W')
- rover.move_forward()
+ control = MissionControl(rover)
+
+ control.execute_command('F')
self.assertEqual((rover.x, rover.y), (0,0))