def main():
    rover = Rover()
    print rover.getStatus()

    while True:
        commands = raw_input('Enter commands (fbrl): ')
        try:
            rover.move(commands)
            print rover.getStatus()
        except Exception, e:
            print e
 def test_moveFFRFF(self):
     path = 'ffrff'
     rover = Rover()
     rover.move(path)
     self.assertTrue(rover.getOrientation() == East)
     self.assertDictEqual({'x':2,'y':2}, rover.getPosition())
 def test_moveBackward(self):
     path = 'b'
     rover = Rover()
     rover.move(path)
     self.assertTrue(rover.getOrientation() == North)
     self.assertDictEqual({'x':0,'y':-1}, rover.getPosition())
 def test_moveLeft(self):
     path = 'l'
     rover = Rover()
     rover.move(path)
     self.assertTrue(rover.getOrientation() == West)
     self.assertDictEqual({'x':0,'y':0}, rover.getPosition())
 def test_roverIsAtDefaultPosition(self):
     rover = Rover()
     self.assertDictEqual({'x':0,'y':0}, rover.getPosition())
 def test_turnLeftInCircle(self):
     rover = Rover()
     self.assertTrue(rover.left() == West)
     self.assertTrue(rover.left() == South)
     self.assertTrue(rover.left() == East)
     self.assertTrue(rover.left() == North)
 def test_roverIsAtDefaultOrientation(self):
     rover = Rover()
     self.assertTrue(rover.getOrientation() == North)