Esempio n. 1
0
def test_putleft():
    q = BlockingQueue()
    items = range(20)
    for i in items:
        q.putleft(i)
        assert len(q) == i+1
        assert q.get() == i
        assert len(q) == i
        q.putleft(i)
    assert q.getmany() == list(reversed(items))
    assert len(q) == 0
Esempio n. 2
0
def test_maxsize(maxsize=5):
    q = BlockingQueue(maxsize=maxsize)
    assert q.maxsize == maxsize
    for i in xrange(maxsize):
        assert not q.is_full
        q.put(i)

    assert q.is_full
    assert len(q.getmany()) == maxsize
    assert not q.is_full

    q.putmany(range(maxsize))
    assert q.is_full
    q.putleft(99, respectmaxsize=0)
    assert q.is_full
    assert len(q) == maxsize+1
    assert q.get() == 99
    assert q.is_full
    assert q._fsema.locked()            # pylint: disable-msg=W0212

    assert len(q.getmany()) == maxsize
    assert not q.is_full
    assert q.is_empty