예제 #1
0
 def test_nested_attribute(self, class_entity_repo, ent0, ent1, ent2):
     agg = class_entity_repo.get_aggregate(IMyEntity)
     agg.add(ent0)
     agg.add(ent1)
     agg.add(ent2)
     assert len(list(agg.iterator())) == 3
     agg.filter = eq(**{'parent.text_ent':'222'})
     assert len(list(agg.iterator())) == 1
     agg.filter = None
     assert len(list(agg.iterator())) == 3
     # TODO: Nested attribute ordering does not work with NoSQL.
     agg.order = desc('id')
     assert next(agg.iterator()) is ent2
     # With nested filter and order.
     agg.filter = gt(**{'parent.text_ent':'000'})
     assert next(agg.iterator()) is ent1
     # With nested filter, order, and slice.
     agg.slice = slice(1, 2)
     assert next(agg.iterator()) is ent0
예제 #2
0
 def test_multiple_ordering_spec_generator(self):
     second_candidate = Candidate(number_attr=0, text_attr='b')
     spec = desc('number_attr', 'text_attr')
     self.assert_true(spec.lt(second_candidate, self.candidate))
예제 #3
0
 def test_desc_generator(self):
     second_candidate = Candidate(number_attr=0, text_attr='b')
     spec = desc('number_attr') & desc('text_attr')
     self.assert_true(spec.lt(second_candidate, self.candidate))
예제 #4
0
 def test_multiple_ordering_spec_generator(self):
     second_candidate = Candidate(number_attr=0, text_attr='b')
     spec = desc('number_attr', 'text_attr')
     self.assert_true(spec.lt(second_candidate, self.candidate))
예제 #5
0
 def test_desc_generator(self):
     second_candidate = Candidate(number_attr=0, text_attr='b')
     spec = desc('number_attr') & desc('text_attr')
     self.assert_true(spec.lt(second_candidate, self.candidate))