Exemplo n.º 1
0
def test_oddity():
    """Test oddities of tail."""
    data = iter('ABCDE')
    # specifying None as the length consumes the whole iterator
    res = tail(None, data)
    assert next(res) == 'A'
    assert list(res) == ['B', 'C', 'D', 'E']
    assert list(data) == []

    data = ()
    # specifying None as the length consumes the whole iterator
    res = tail(None, data)
    assert list(res) == []
Exemplo n.º 2
0
def test_normal():
    """Test tail."""
    # tail less than data
    data = iter('ABCDE')
    res = tail(3, data)
    assert next(res) == 'C'
    assert list(res) == ['D', 'E']
    assert list(data) == []

    # tail exact count of data
    data = iter('ABCDE')
    res = tail(5, data)
    assert next(res) == 'A'
    assert list(res) == ['B', 'C', 'D', 'E']
    assert list(data) == []

    # tail more than data
    data = iter('ABCDE')
    res = tail(7, data)
    assert next(res) == 'A'
    assert list(res) == ['B', 'C', 'D', 'E']
    assert list(data) == []

    # tail nothing
    data = iter('ABCDE')
    res = tail(0, data)
    assert list(res) == []
    assert list(data) == []

    # empty but request some
    data = ()
    res = tail(3, data)
    assert list(res) == []

    # empty and request none
    data = ()
    res = tail(0, data)
    assert list(res) == []