Exemplo n.º 1
0
 def test_default_requirements(self):
     def foo(a, b=1, *, c, d=None): pass
     check_extract(foo,
                   expected_rq=requires('a',
                                        optional('b'),
                                        c='c',
                                        d=optional('d')),
                   expected_rt=None)
Exemplo n.º 2
0
    def test_extract_from_partial(self):
        def foo(x, y, z, a=None):
            pass

        p = partial(foo, 1, y=2)
        check_extract(p,
                      expected_rq=requires(z='z',
                                           a=optional('a'),
                                           y=optional('y')),
                      expected_rt=None)
Exemplo n.º 3
0
 def test_call_requires_item_optional_present(self):
     def foo(x=1):
         return x
     context = Context()
     context.add(dict(bar='baz'), 'foo')
     result = context.call(foo, requires(item(optional('foo'), 'bar')))
     compare(result, 'baz')
Exemplo n.º 4
0
    def test_default_requirements_for_function(self):
        def foo(a, b=None):
            pass

        check_extract(foo,
                      expected_rq=requires('a', optional('b')),
                      expected_rt=None)
Exemplo n.º 5
0
    def test_call_requires_optional_ContextError(self):
        def foo(x=1):
            return x

        context = Context()
        result = context.call(foo, requires(optional(TheType)), result_type)
        compare(result, 1)
        compare({int: 1}, context)
Exemplo n.º 6
0
 def test_call_requires_optional_string(self):
     def foo(x=1):
         return x
     context = Context()
     context.add(2, 'foo')
     result = context.call(foo, requires(optional('foo')))
     compare(result, 2)
     compare({'foo': 2}, context)
Exemplo n.º 7
0
 def test_call_requires_optional_present(self):
     def foo(x=1):
         return x
     context = Context()
     context.add(2, TheType)
     result = context.call(foo, requires(optional(TheType)))
     compare(result, 2)
     compare({TheType: 2}, context)
Exemplo n.º 8
0
    def test_extract_from_partial_plus_one_default_not_in_partial(self):
        def foo(b, a=None):
            pass

        p = partial(foo)
        check_extract(p,
                      expected_rq=requires('b', optional('a')),
                      expected_rt=None)
Exemplo n.º 9
0
    def test_extract_from_partial_default_in_partial_kw(self):
        def foo(a=None):
            pass

        p = partial(foo, a=1)
        check_extract(p,
                      expected_rq=requires(a=optional('a')),
                      expected_rt=None)
Exemplo n.º 10
0
    def test_default_requirements_for_class(self):
        class MyClass(object):
            def __init__(self, a, b=None):
                pass

        check_extract(MyClass,
                      expected_rq=requires('a', optional('b')),
                      expected_rt=None)
Exemplo n.º 11
0
 def test_call_requires_item_optional_ContextError(self):
     def foo(x=1):
         return x
     context = Context()
     result = context.call(foo,
                           requires(item(optional('foo'), 'bar')),
                           result_type)
     compare(result, 1)
Exemplo n.º 12
0
    def test_call_requires_item_optional_ContextError(self):
        def foo(x=1):
            return x

        context = Context()
        result = context.call(foo, requires(item(optional('foo'), 'bar')),
                              result_type)
        compare(result, 1)
Exemplo n.º 13
0
    def test_extract_from_partial_plus_one_required_in_partial_kw(self):
        def foo(b, a):
            pass

        p = partial(foo, a=1)
        check_extract(p,
                      expected_rq=requires('b', a=optional('a')),
                      expected_rt=None)
Exemplo n.º 14
0
 def test_call_requires_optional_ContextError(self):
     def foo(x=1):
         return x
     context = Context()
     result = context.call(foo,
                           requires(optional(TheType)),
                           result_type)
     compare(result, 1)
     compare({int: 1}, context)
Exemplo n.º 15
0
 def test_call_requires_item_optional_present(self):
     def foo(x=1):
         return x
     context = Context()
     context.add(dict(bar='baz'), 'foo')
     result = context.call(foo,
                           requires(item(optional('foo'), 'bar')),
                           result_type)
     compare(result, 'baz')
Exemplo n.º 16
0
 def test_call_requires_optional_string(self):
     def foo(x=1):
         return x
     context = Context()
     context.add(2, 'foo')
     result = context.call(foo,
                           requires(optional('foo')),
                           result_type)
     compare(result, 2)
     compare({'foo': 2, int: 2}, context)
Exemplo n.º 17
0
 def test_call_requires_optional_present(self):
     def foo(x=1):
         return x
     context = Context()
     context.add(2, TheType)
     result = context.call(foo,
                           requires(optional(TheType)),
                           result_type)
     compare(result, 2)
     compare({TheType: 2, int: 2}, context)
Exemplo n.º 18
0
 def test_missing(self):
     compare(optional(Type1).process(missing), nothing)
Exemplo n.º 19
0
 def test_string(self):
     compare(repr(optional('1')), "optional('1')")
Exemplo n.º 20
0
 def test_present(self):
     compare(optional(Type1).process(1), 1)
Exemplo n.º 21
0
 def test_type(self):
     compare(repr(optional(Type1)), "optional(Type1)")