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)])
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')
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) ]
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)])
def test_init(self): obj = SnakeBlock(0, 2, 3) assert (obj.x, obj.y, obj.size, obj.color) == (0, 2, 3, 'red')
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)])
def test_del_stamp(self): snake_ = Snake(10, 10, 1) snake_._del_stamp() assert snake_.body == [] assert snake_.stamp == SnakeBlock(5, 5, 1)
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)])