def test_turn(self): pos = Position(0, 0, 1) for x in range(4, -3, -1): pos.turn_left() self.assertEqual(pos.orientation, x % 4) pos = Position(0, 0, -1) for x in range(10): pos.turn_right() self.assertEqual(pos.orientation, x % 4)
class Character: def __init__(self, name, pos_x=0, pos_y=0, orientation=0): self.position = Position(pos_x, pos_y, orientation) self.name = name def turn_left(self): self.position.turn_left() def turn_right(self): self.position.turn_right() def move_forward(self): self.position.move_forward()
def test_advance(self): pos = Position(5, 5, 0) pos.move_forward() self.validate_position(pos, Position(5, 6, 0)) pos.turn_right() pos.move_forward() self.validate_position(pos, Position(6, 6, 1)) pos.turn_right() pos.move_forward() self.validate_position(pos, Position(6, 5, 2)) pos.turn_right() pos.move_forward() self.validate_position(pos, Position(5, 5, 3))