def test_and_single_depth(self): cs = ConditionSet({ 'and': [ {'attr': 'a', 'value': 1, 'op': 'eq'}, {'attr': 'b', 'value': 1, 'op': 'eq', 'negate': True}, ] }) self.assertTrue(cs.eval({'a': 1, 'b': 2})) self.assertFalse(cs.eval({'a': 1, 'b': 1}))
def test_mixed_and(self): cs = ConditionSet({ 'and': [ {'attr': 'a', 'value': 1, 'op': 'eq'}, {'or': [ {'attr': 'b', 'value': 2, 'op': 'eq'}, {'attr': 'c', 'value': 3, 'op': 'eq'}, ]} ] }) self.assertTrue(cs.eval({'a': 1, 'b': 2, 'c': 9})) self.assertTrue(cs.eval({'a': 1, 'b': 9, 'c': 3})) self.assertFalse(cs.eval({'a': 1, 'b': 9, 'c': 9})) self.assertFalse(cs.eval({'a': 9, 'b': 2, 'c': 3}))