Exemplo n.º 1
0
    def test_turn(self):
        self.char.position = Position(0, 0, 1)
        for x in range(4, -3, -1):
            self.char.turn_left()
            self.assertEqual(self.char.position.orientation, x % 4)

        self.char.position = Position(0, 0, -1)
        for x in range(10):
            self.char.turn_right()
            self.assertEqual(self.char.position.orientation, x % 4)
Exemplo n.º 2
0
 def test_advance(self):
     self.char.position = Position(5, 5, 0)
     self.char.move_forward()
     self.validate_position(self.char.position, Position(5, 6, 0))
     self.char.turn_right()
     self.char.move_forward()
     self.validate_position(self.char.position, Position(6, 6, 1))
     self.char.turn_right()
     self.char.move_forward()
     self.validate_position(self.char.position, Position(6, 5, 2))
     self.char.turn_right()
     self.char.move_forward()
     self.validate_position(self.char.position, Position(5, 5, 3))
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
 def set_position(self, x, y, orientation):
     self.position = Position(x, y, orientation)
Exemplo n.º 6
0
 def __init__(self, name, pos_x=0, pos_y=0, orientation=0):
     self.position = Position(pos_x, pos_y, orientation)
     self.name = name
Exemplo n.º 7
0
 def test_constructor_other_values(self):
     other_character = Character("name", 3, 5, 3)
     self.validate_position(other_character.position, Position(3, 5, 3))
Exemplo n.º 8
0
 def test_constructor_default(self):
     self.assertEqual(self.char.name, "name")
     self.validate_position(self.char.position, Position(0, 0, 0))
Exemplo n.º 9
0
 def setUp(self):
     self.obj = Position(1, 2, 2)
Exemplo n.º 10
0
 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))
Exemplo n.º 11
0
 def test_constructor_orientation_out_of_bounds(self):
     for x in range(-4, 9):
         self.assertEqual(Position(0, 0, x).orientation, x % 4)