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]) ]
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
def test_record_dir(): keys, values = ['id', 'name', 'email'], [1, '', ''] record = Record(keys, values) _dir = dir(record) for key in keys: assert key in _dir for key in dir(object): assert key in _dir
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.
def test_collection_one_returns_a_single_record(): rows = Collection(Record(['id'], [i]) for i in range(1)) assert rows.one() == Record(['id'], [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)
def test_collection_next(): rows = Collection(Record(['id'], [i]) for i in range(10)) for i in range(10): check_id(i, next(rows))
def test_collection_scalar_raises_when_more_than_one(): rows = Collection(Record(['id'], [i]) for i in range(3)) raises(ValueError, rows.scalar)
def test_collection_scalar_returns_a_single_record(): rows = Collection(Record(['id'], [i]) for i in range(1)) assert rows.scalar() == 0
def test_record_duplicate_column(): keys, values = ['id', 'name', 'email', 'email'], [1, '', '', ''] record = Record(keys, values) with raises(KeyError): record['email']