Ejemplo n.º 1
0
def test_circular_buffer_appends_pops_partial():
    b = CircularBuffer(5)
    b.append(1)
    b.append(2)
    assert list(b) == [1, 2]
    assert b.pop() == 2
    assert list(b) == [1]
    b.append(3)
    b.append(4)
    assert list(b) == [1, 3, 4]
    assert b.popleft() == 1
    assert b.popleft() == 3
    assert list(b) == [4]
    b.appendleft(5)
    assert list(b) == [5, 4]
    assert b.popleft() == 5
Ejemplo n.º 2
0
def test_circular_buffer_appends_pops_overfull():
    b = CircularBuffer(5, range(7))
    b.append(-1)
    b.append(-2)
    assert list(b) == [4, 5, 6, -1, -2]
    assert b.pop() == -2
    assert b.popleft() == 4
    assert list(b) == [5, 6, -1]
    b.append(-3)
    b.append(-4)
    assert list(b) == [5, 6, -1, -3, -4]
    b.appendleft(-5)
    assert list(b) == [-5, 5, 6, -1, -3]
    assert b.popleft() == -5
    assert b.popleft() == 5
    assert list(b) == [6, -1, -3]
    b.appendleft(-6)
    assert list(b) == [-6, 6, -1, -3]
    assert b.popleft() == -6
Ejemplo n.º 3
0
def test_circular_buffer_len_overfull_pop():
    b = CircularBuffer(5, range(7))
    b.pop()
    assert len(b) == 4
Ejemplo n.º 4
0
def test_circular_buffer_pop_overfull():
    b = CircularBuffer(5, range(7))
    assert b.pop() == 6
    assert list(b) == [2, 3, 4, 5]
    assert b.pop() == 5
    assert list(b) == [2, 3, 4]
Ejemplo n.º 5
0
def test_circular_buffer_pop_partial():
    b = CircularBuffer(5, range(3))
    assert b.pop() == 2
    assert list(b) == [0, 1]
    assert b.pop() == 1
    assert list(b) == [0]
Ejemplo n.º 6
0
def test_circular_buffer_pop_empty_invalid():
    b = CircularBuffer(5)
    with pytest.raises(IndexError):
        b.pop()