示例#1
0
    def test_first_raises_default_if_its_an_exception_instance(self):
        rows = camus.RecordCollection(iter([]))

        class Cheese(Exception):
            pass

        raises(Cheese, rows.first, Cheese("cheddar"))
示例#2
0
    def test_one_raises_default_if_its_an_exception_subclass(self):
        rows = camus.RecordCollection(iter([]))

        class Cheese(Exception):
            pass

        raises(Cheese, rows.one, Cheese)
示例#3
0
 def test_slice_iter(self):
     rows = camus.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
示例#4
0
    def test_multiple_iter(self):
        rows = camus.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 test_first_default_is_overridable(self):
     rows = camus.RecordCollection(iter([]))
     assert rows.first("Cheese") == "Cheese"
示例#6
0
 def test_first_defaults_to_None(self):
     rows = camus.RecordCollection(iter([]))
     assert rows.first() is None
示例#7
0
 def test_first_returns_a_single_record(self):
     rows = camus.RecordCollection(IdRecord(i) for i in range(1))
     assert rows.first() == IdRecord(0)
示例#8
0
 def test_all_returns_a_list_of_records(self):
     rows = camus.RecordCollection(IdRecord(i) for i in range(3))
     assert rows.all() == [IdRecord(0), IdRecord(1), IdRecord(2)]
示例#9
0
 def test_next(self):
     rows = camus.RecordCollection(IdRecord(i) for i in range(10))
     for i in range(10):
         check_id(i, next(rows))
示例#10
0
 def test_iter(self):
     rows = camus.RecordCollection(IdRecord(i) for i in range(10))
     for i, row in enumerate(rows):
         check_id(i, row)
示例#11
0
 def test_scalar_raises_when_more_than_one(self):
     rows = camus.RecordCollection(IdRecord(i) for i in range(3))
     raises(ValueError, rows.scalar)
示例#12
0
 def test_scalar_default_is_overridable(self):
     rows = camus.RecordCollection(iter([]))
     assert rows.scalar("Kaffe") == "Kaffe"
示例#13
0
 def test_scalar_defaults_to_None(self):
     rows = camus.RecordCollection(iter([]))
     assert rows.scalar() is None
示例#14
0
 def test_scalar_returns_a_single_record(self):
     rows = camus.RecordCollection(IdRecord(i) for i in range(1))
     assert rows.scalar() == 0