예제 #1
0
    def test_first_raises_default_if_its_an_exception_instance(self):
        rows = records.RecordCollection(iter([]))

        class Cheese(Exception):
            pass

        raises(Cheese, rows.first, Cheese('cheddar'))
예제 #2
0
 def test_slice_iter(self):
     rows = records.RecordCollection(IdRecord(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_one_raises_default_if_its_an_exception_subclass(self):
        rows = records.RecordCollection(iter([]))

        class Cheese(Exception):
            pass

        raises(Cheese, rows.one, Cheese)
예제 #4
0
    def test_multiple_iter(self):
        rows = records.RecordCollection(IdRecord(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.
예제 #5
0
def db_xlsx():
    rows = [{
        "x": 1,
        "y": 2
    }, {
        "x": 2,
        "y": 3
    }, {
        "x": 3,
        "y": 4
    }, {
        "x": 4,
        "y": 5
    }]
    results = records.RecordCollection(iter(rows))
    with open('demo.xlsx', 'wb') as f:
        f.write(results.export('xlsx'))
예제 #6
0
 def test_first_raises_when_more_than_first(self):
     rows = records.RecordCollection(IdRecord(i) for i in range(3))
     raises(ValueError, rows.first)
예제 #7
0
 def test_first_default_is_overridable(self):
     rows = records.RecordCollection(iter([]))
     assert rows.first('Cheese') == 'Cheese'
예제 #8
0
 def test_first_defaults_to_None(self):
     rows = records.RecordCollection(iter([]))
     assert rows.first() is None
예제 #9
0
 def test_first_returns_a_single_record(self):
     rows = records.RecordCollection(IdRecord(i) for i in range(1))
     assert rows.first() == IdRecord(0)
예제 #10
0
 def test_all_returns_a_list_of_records(self):
     rows = records.RecordCollection(IdRecord(i) for i in range(3))
     assert rows.all() == [IdRecord(0), IdRecord(1), IdRecord(2)]
예제 #11
0
 def test_next(self):
     rows = records.RecordCollection(IdRecord(i) for i in range(10))
     for i in range(10):
         check_id(i, next(rows))
예제 #12
0
 def test_iter(self):
     rows = records.RecordCollection(IdRecord(i) for i in range(10))
     for i, row in enumerate(rows):
         check_id(i, row)
 def test_scalar_raises_when_more_than_one(self):
     rows = records.RecordCollection(IdRecord(i) for i in range(3))
     raises(ValueError, rows.scalar)
 def test_scalar_default_is_overridable(self):
     rows = records.RecordCollection(iter([]))
     assert rows.scalar('Kaffe') == 'Kaffe'
 def test_scalar_defaults_to_None(self):
     rows = records.RecordCollection(iter([]))
     assert rows.scalar() is None
 def test_scalar_returns_a_single_record(self):
     rows = records.RecordCollection(IdRecord(i) for i in range(1))
     assert rows.scalar() == 0