Exemple #1
0
 def test_move_right(self):
     snake_ = Snake(10, 10, 1)
     snake_.move_right()
     assert snake_.body == [SnakeBlock(6, 5, 1)]
     assert snake_.stamp == SnakeBlock(5, 5, 1)
     assert snake_.head == SnakeBlock(6, 5, 1)
     assert snake_.set_body == set([SnakeBlock(6, 5, 1)])
Exemple #2
0
 def test_next_block(self):
     base = Block(3, 4, 1, 'red')
     assert Builder(base).next_fig('UP') == Block(3, 3, 1, 'red')
     base = SnakeBlock(3, 4, 1, 'red')
     assert Builder(base).next_fig('UP') == SnakeBlock(3, 3, 1, 'red')
     base = FoodBlock(3, 4, 1, 'red')
     assert Builder(base).next_fig('UP') == FoodBlock(3, 3, 1, 'red')
     base = WallBlock(3, 4, 1, 'red')
     assert Builder(base).next_fig('UP') == WallBlock(3, 3, 1, 'red')
Exemple #3
0
    def __post_init__(self):
        """Populate the Snake body with default initialization if not given.
        """

        if not self.body:  # if not explicitly given
            self.body = [
                SnakeBlock(
                    int(self.width_n / 2) * self.size,
                    int(self.height_n / 2) * self.size, self.size)
            ]
Exemple #4
0
 def test_move_update(self):
     snake_ = Snake(10, 10, 1)
     snake_._move_update(SnakeBlock(15, 14, 1))
     snake_._move_update(SnakeBlock(25, 24, 1))
     assert snake_.body == [SnakeBlock(25, 24, 1)]
     assert snake_.stamp == SnakeBlock(15, 14, 1)
     assert snake_.head == SnakeBlock(25, 24, 1)
     assert snake_.set_body == set([SnakeBlock(25, 24, 1)])
Exemple #5
0
 def test_init(self):
     obj = SnakeBlock(0, 2, 3)
     assert (obj.x, obj.y, obj.size, obj.color) == (0, 2, 3, 'red')
Exemple #6
0
    def test_eat(self):
        snake_ = Snake(10, 10, 1)
        snake_.move_up()
        snake_.eat()
        assert snake_.body == [SnakeBlock(5, 4, 1), SnakeBlock(5, 5, 1)]
        assert snake_.stamp == SnakeBlock(5, 5, 1)
        assert snake_.head == SnakeBlock(5, 4, 1)
        assert snake_.set_body == set(
            [SnakeBlock(5, 4, 1), SnakeBlock(5, 5, 1)])

        snake_.move_left()
        assert snake_.body == [SnakeBlock(4, 4, 1), SnakeBlock(5, 4, 1)]
        assert snake_.stamp == SnakeBlock(5, 5, 1)
        assert snake_.head == SnakeBlock(4, 4, 1)
        assert snake_.set_body == set(
            [SnakeBlock(4, 4, 1), SnakeBlock(5, 4, 1)])

        snake_.move_down()
        assert snake_.body == [SnakeBlock(4, 5, 1), SnakeBlock(4, 4, 1)]
        assert snake_.stamp == SnakeBlock(5, 4, 1)
        assert snake_.head == SnakeBlock(4, 5, 1)
        assert snake_.set_body == set(
            [SnakeBlock(4, 5, 1), SnakeBlock(4, 4, 1)])
Exemple #7
0
 def test_del_stamp(self):
     snake_ = Snake(10, 10, 1)
     snake_._del_stamp()
     assert snake_.body == []
     assert snake_.stamp == SnakeBlock(5, 5, 1)
Exemple #8
0
 def test_init(self):
     snake_ = Snake(10, 10, 1)
     assert snake_.body == [SnakeBlock(5, 5, 1)]
     assert snake_.stamp is None
     assert snake_.head == SnakeBlock(5, 5, 1)
     assert snake_.set_body == set([SnakeBlock(5, 5, 1)])