Beispiel #1
0
def test_collection_all_returns_a_list_of_records():
    rows = Collection(Record(['id'], [i]) for i in range(3))
    assert rows.all() == [
        Record(['id'], [0]),
        Record(['id'], [1]),
        Record(['id'], [2])
    ]
Beispiel #2
0
def test_collection_slice_iter():
    rows = Collection(Record(['id'], [i]) for i in range(10))
    for i, row in enumerate(rows[:5]):
        check_id(i, row)
    for i, row in enumerate(rows):
        check_id(i, row)
    assert len(rows) == 10
Beispiel #3
0
def test_collection_multiple_iter():
    rows = Collection(Record(['id'], [i]) for i in range(10))
    i = enumerate(iter(rows))
    j = enumerate(iter(rows))

    check_id(*next(i))  # Cache first row.

    check_id(*next(j))  # Read first row from cache.
    check_id(*next(j))  # Cache second row.

    check_id(*next(i))  # Read second row from cache.
Beispiel #4
0
def test_collection_one_defaults_to_none():
    rows = Collection(iter([]))
    assert rows.one() is None
Beispiel #5
0
def test_collection_one_returns_a_single_record():
    rows = Collection(Record(['id'], [i]) for i in range(1))
    assert rows.one() == Record(['id'], [0])
Beispiel #6
0
def test_collection_iter():
    rows = Collection(Record(['id'], [i]) for i in range(10))
    for i, row in enumerate(rows):
        check_id(i, row)
Beispiel #7
0
def test_collection_first_raises_default_if_its_an_exception_instance():
    rows = Collection(iter([]))
    raises(Exception, rows.first, default=Exception("testing"))
Beispiel #8
0
def test_collection_first_raises_default_if_its_an_exception_subclass():
    rows = Collection(iter([]))
    raises(Exception, rows.first, default=Exception)
Beispiel #9
0
def test_collection_first_default_is_overridable():
    rows = Collection(iter([]))
    assert rows.first(default="Spam & Eggs") == "Spam & Eggs"
Beispiel #10
0
def test_collection_next():
    rows = Collection(Record(['id'], [i]) for i in range(10))
    for i in range(10):
        check_id(i, next(rows))
Beispiel #11
0
def test_collection_scalar_raises_when_more_than_one():
    rows = Collection(Record(['id'], [i]) for i in range(3))
    raises(ValueError, rows.scalar)
Beispiel #12
0
def test_collection_scalar_default_is_overridable():
    rows = Collection(iter([]))
    assert rows.scalar(default="testing") == "testing"
Beispiel #13
0
def test_collection_scalar_defaults_to_none():
    rows = Collection(iter([]))
    assert rows.scalar() is None
Beispiel #14
0
def test_collection_scalar_returns_a_single_record():
    rows = Collection(Record(['id'], [i]) for i in range(1))
    assert rows.scalar() == 0