Beispiel #1
0
    def test_combine_with_comparison(self):
        flt1 = filtering.And(
            filtering.Equal('fiction', True),
            filtering.LessThan('rrp', 20),
        )
        flt = flt1 + filtering.Equal('authors', 1, len)

        self.assertEqual(
            "(fiction == True AND rrp < 20 AND len(authors) == 1)", str(flt))
Beispiel #2
0
 def test_matches_multiple_matches_resource(self):
     # Less than fiction $20 with a single author and not fantasy
     flt = filtering.And(
         filtering.Equal('fiction', True),
         filtering.LessThan('rrp', 20),
         filtering.Equal('authors', 1, len),
         filtering.NotEqual('genre', 'fantasy'),
     )
     self.assertTrue(flt(first_book))
Beispiel #3
0
    def test_combining_same_type(self):
        flt1 = filtering.And(
            filtering.Equal('fiction', True),
            filtering.LessThan('rrp', 20),
        )
        flt2 = filtering.And(
            filtering.Equal('authors', 1, len),
            filtering.NotEqual('genre', 'fantasy'),
        )
        flt = flt1 + flt2

        assert "(fiction == True AND rrp < 20 AND len(authors) == 1 AND genre != 'fantasy')" == str(
            flt)
Beispiel #4
0
 def test_combine_with_other_type(self):
     flt1 = filtering.And(
         filtering.Equal('fiction', True),
         filtering.LessThan('rrp', 20),
     )
     self.assertRaises(TypeError, lambda: flt1 + 'abc')
Beispiel #5
0
 def test_description(self):
     flt = filtering.And(
         filtering.Equal('fiction', True),
         filtering.LessThan('rrp', 20),
     )
     self.assertEqual('(fiction == True AND rrp < 20)', str(flt))
Beispiel #6
0
 def test_less_than(self):
     comp = filtering.LessThan('foo', 5)
     self.assertTrue(comp.compare(4))
     self.assertFalse(comp.compare(5))
     self.assertFalse(comp.compare(6))
     self.assertEqual('foo < 5', str(comp))
Beispiel #7
0
 def test_less_than(self):
     comp = filtering.LessThan('foo', 5)
     assert comp.compare(4)
     assert not comp.compare(5)
     assert not comp.compare(6)
     assert 'foo < 5' == str(comp)