Example #1
0
    def test_supports(self):
        class Foo(object):
            pass

        assert ObjectsBackend.supports(1)
        assert ObjectsBackend.supports(True)
        assert ObjectsBackend.supports(Foo())
Example #2
0
	def test_supports(self):
		class Foo(object):
			pass

		assert ObjectsBackend.supports(1)
		assert ObjectsBackend.supports(True)
		assert ObjectsBackend.supports(Foo())
Example #3
0
	def test_eval_op_groups(self):
		ob = ObjectsBackend()

		class Foo(object):
			a = 1
			b = 2

		assert ob.eval_op(ConditionGroup(
			OrOperator(EqualsCondition('a', 1), EqualsCondition('b', 2))
		), Foo())
Example #4
0
	def test_eval_op_operator(self):
		ob = ObjectsBackend()

		class Foo(object):
			a = 1

		assert ob.eval_op(AndOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)), Foo())
		assert ob.eval_op(OrOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)), Foo())

		with pytest.raises(Exception):
			ob.eval_op(True, Foo())
Example #5
0
    def test_eval_op_groups(self):
        ob = ObjectsBackend()

        class Foo(object):
            a = 1
            b = 2

        assert ob.eval_op(
            ConditionGroup(
                OrOperator(EqualsCondition('a', 1), EqualsCondition('b', 2))),
            Foo())
Example #6
0
	def test_apply(self):
		ob = ObjectsBackend()

		class Foo(object):
			a = 1

			def __eq__(self, other):
				return isinstance(other, Foo) and self.a == other.a

		query = Query([EqualsCondition('a', 1)])
		assert list(ob.apply(query, [Foo()])) == [Foo()]
		assert list(query.apply([Foo()])) == [Foo()]
Example #7
0
    def test_apply(self):
        ob = ObjectsBackend()

        class Foo(object):
            a = 1

            def __eq__(self, other):
                return isinstance(other, Foo) and self.a == other.a

        query = Query([EqualsCondition('a', 1)])
        assert list(ob.apply(query, [Foo()])) == [Foo()]
        assert list(query.apply([Foo()])) == [Foo()]
Example #8
0
    def test_eval_op_condition(self):
        ob = ObjectsBackend()

        class Foo(object):
            a = 1

        assert ob.eval_op(EqualsCondition('a', 1), Foo())
        assert ob.eval_op(GreaterThanCondition('a', 0), Foo())
        assert ob.eval_op(GreaterThanOrEqualCondition('a', 1), Foo())
        assert ob.eval_op(LessThanCondition('a', 2), Foo())
        assert ob.eval_op(LessThanOrEqualCondition('a', 1), Foo())
Example #9
0
	def test_eval_op_condition(self):
		ob = ObjectsBackend()

		class Foo(object):
			a = 1

		assert ob.eval_op(EqualsCondition('a', 1), Foo())
		assert ob.eval_op(GreaterThanCondition('a', 0), Foo())
		assert ob.eval_op(GreaterThanOrEqualCondition('a', 1), Foo())
		assert ob.eval_op(LessThanCondition('a', 2), Foo())
		assert ob.eval_op(LessThanOrEqualCondition('a', 1), Foo())
Example #10
0
    def test_eval_op_operator(self):
        ob = ObjectsBackend()

        class Foo(object):
            a = 1

        assert ob.eval_op(
            AndOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)),
            Foo())
        assert ob.eval_op(
            OrOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)),
            Foo())

        with pytest.raises(Exception):
            ob.eval_op(True, Foo())