Exemple #1
0
    def test_attr_multiple(self):
        class T2:
            bar = 'baz'

        class T:
            foo = T2()

        m = Mock()

        def job1():
            m.job1()
            return T()

        def job2(obj):
            m.job2(obj)

        runner = Runner()
        runner.add(job1)
        runner.add(job2, requires(attr(T, 'foo', 'bar')))
        runner()

        compare([
            call.job1(),
            call.job2('baz'),
        ], m.mock_calls)
Exemple #2
0
 def test_call_requires_attr(self):
     def foo(x):
         return x
     m = Mock()
     context = Context()
     context.add(m, 'foo')
     result = context.call(foo, requires(attr('foo', 'bar')))
     compare(result, m.bar)
Exemple #3
0
 def test_call_requires_item_attr(self):
     def foo(x):
         return x
     m = Mock()
     m.bar= dict(baz='bob')
     context = Context()
     context.add(m, 'foo')
     result = context.call(foo, requires(item(attr('foo', 'bar'), 'baz')))
     compare(result, 'bob')
Exemple #4
0
 def test_call_requires_attr(self):
     def foo(x):
         return x
     m = Mock()
     context = Context()
     context.add(m, 'foo')
     result = context.call(foo,
                           requires(attr('foo', 'bar')),
                           result_type)
     compare(result, m.bar)
Exemple #5
0
 def test_call_requires_item_attr(self):
     def foo(x):
         return x
     m = Mock()
     m.bar= dict(baz='bob')
     context = Context()
     context.add(m, 'foo')
     result = context.call(foo,
                           requires(item(attr('foo', 'bar'), 'baz')),
                           result_type)
     compare(result, 'bob')
Exemple #6
0
    def test_nested(self):
        class T(object):
            foo = dict(baz='bar')
        m = Mock()
        def job1():
            m.job1()
            return T()
        def job2(obj):
            m.job2(obj)
        runner = Runner()
        runner.add(job1)
        runner.add(job2, requires(item(attr(T, 'foo'), 'baz')))
        runner()

        compare([
                call.job1(),
                call.job2('bar'),
                ], m.mock_calls)
Exemple #7
0
    def test_nested(self):
        class T(object):
            foo = dict(baz='bar')
        m = Mock()
        def job1():
            m.job1()
            return T()
        def job2(obj):
            m.job2(obj)
        runner = Runner()
        runner.add(job1)
        runner.add(job2, requires(item(attr(T, 'foo'), 'baz')))
        runner()

        compare([
                call.job1(),
                call.job2('bar'),
                ], m.mock_calls)
Exemple #8
0
    def test_attr_multiple(self):
        class T2:
            bar = 'baz'
        class T:
            foo = T2()

        m = Mock()
        def job1():
            m.job1()
            return T()
        def job2(obj):
            m.job2(obj)
        runner = Runner()
        runner.add(job1)
        runner.add(job2, requires(attr(T, 'foo', 'bar')))
        runner()

        compare([
                call.job1(),
                call.job2('baz'),
                ], m.mock_calls)
Exemple #9
0
 def test_passed_missing(self):
     h = attr(Type1, 'foo', 'bar')
     compare(h.process(missing), missing)
Exemple #10
0
 def test_missing(self):
     h = attr(Type1, 'foo', 'bar')
     compare(h.process(object()), missing)
Exemple #11
0
 def test_multiple(self):
     h = attr(Type1, 'foo', 'bar')
     compare(repr(h), "Type1.foo.bar")
     m = Mock()
     compare(h.process(m), m.foo.bar)
Exemple #12
0
 def test_single(self):
     h = attr(Type1, 'foo')
     compare(repr(h), "Type1.foo")
     m = Mock()
     compare(h.process(m), m.foo)