예제 #1
0
def test_predicate_predicate_custom_name():
    def mypred(x):
        return x == 'a'

    p = Predicate(Predicate(mypred, name='foo'))
    assert p.name == 'foo'
    assert p.num_args == 1
    assert p('a')
예제 #2
0
    def test_predicate_predicate_custom_name(self):
        def mypred(x):
            return x == "a"

        p = Predicate(Predicate(mypred, name="foo"))
        assert p.name == "foo"
        assert p.num_args == 1
        assert p("a")
예제 #3
0
    def test_predicate_predicate(self):
        def mypred(x):
            return x == "a"

        p = Predicate(Predicate(mypred))
        assert p.name == "mypred"
        assert p.num_args == 1
        assert p("a")
예제 #4
0
def test_predicate_predicate():
    def mypred(x):
        return x == 'a'

    p = Predicate(Predicate(mypred))
    assert p.name == 'mypred'
    assert p.num_args == 1
    assert p('a')
예제 #5
0
def test_partial_function_predicate():
    def mypred(one, two, three):
        return one < two < three

    p = Predicate(functools.partial(mypred, 1))
    assert p.name == 'mypred'
    assert p.num_args == 2  # 3 - 1 partial
    assert p(2, 3)
    p = Predicate(functools.partial(mypred, 1, 2))
    assert p.name == 'mypred'
    assert p.num_args == 1  # 3 - 2 partial
    assert p(3)
예제 #6
0
    def test_function_predicate_custom_name(self):
        def mypred(x):
            return x == 'a'

        p = Predicate(mypred, name='foo')
        assert p.name == 'foo'
        assert p.num_args == 1
        assert p('a')
예제 #7
0
    def test_function_predicate(self):
        def mypred(x):
            return x == 'a'

        p = Predicate(mypred)
        assert p.name == 'mypred'
        assert p.num_args == 1
        assert p('a')
예제 #8
0
def test_class_predicate():
    class callableclass(object):
        def __call__(self, arg1, arg2):
            return arg1 == arg2

    fn = callableclass()
    p = Predicate(fn)
    assert p.name == 'callableclass'
    assert p.num_args == 2
    assert p('a', 'a')
예제 #9
0
    def test_class_predicate_custom_name(self):
        class callableclass(object):
            def __call__(self, arg):
                return arg == "a"

        fn = callableclass()
        p = Predicate(fn, name="bar")
        assert p.name == "bar"
        assert p.num_args == 1
        assert p("a")
예제 #10
0
    def test_class_predicate(self):
        class callableclass(object):
            def __call__(self, arg1, arg2):
                return arg1 == arg2

        fn = callableclass()
        p = Predicate(fn)
        assert p.name == "callableclass"
        assert p.num_args == 2
        assert p("a", "a")
예제 #11
0
def test_partial_method_predicate():
    class SomeClass(object):
        def some_method(self, arg1, arg2):
            return arg1 == arg2

    obj = SomeClass()
    p = Predicate(functools.partial(obj.some_method, 2))
    assert p.name == 'some_method'
    assert p.num_args == 1
    assert p(2)
예제 #12
0
def test_method_predicate():
    class SomeClass(object):
        def some_method(self, arg1, arg2):
            return arg1 == arg2

    obj = SomeClass()
    p = Predicate(obj.some_method)
    assert p.name == 'some_method'
    assert p.num_args == 2
    assert p(2, 2)
예제 #13
0
def test_class_predicate_custom_name():
    class callableclass(object):
        def __call__(self, arg):
            return arg == 'a'

    fn = callableclass()
    p = Predicate(fn, name='bar')
    assert p.name == 'bar'
    assert p.num_args == 1
    assert p('a')
예제 #14
0
def test_predicate_bind():
    @predicate(bind=True)
    def is_bound(self):
        return self is is_bound

    assert is_bound()

    p = None

    def mypred(self):
        return self is p

    p = Predicate(mypred, bind=True)
    assert p()
예제 #15
0
 def test_lambda_predicate(self):
     p = Predicate(lambda x: x == "a")
     assert p.name == "<lambda>"
     assert p.num_args == 1
     assert p("a")
예제 #16
0
def test_lambda_predicate_custom_name():
    p = Predicate(lambda x: x == 'a', name='mypred')
    assert p.name == 'mypred'
    assert p.num_args == 1
    assert p('a')
예제 #17
0
def test_lambda_predicate():
    p = Predicate(lambda x: x == 'a')
    assert p.name == '<lambda>'
    assert p.num_args == 1
    assert p('a')
예제 #18
0
 def test_lambda_predicate_custom_name(self):
     p = Predicate(lambda x: x == "a", name="mypred")
     assert p.name == "mypred"
     assert p.num_args == 1
     assert p("a")