Example #1
0
 def test_returns_mapping(self):
     def foo():
         return {'foo': 1, 'bar': 2}
     context = Context()
     result = context.extract(foo, nothing, returns_mapping())
     compare(result, {'foo': 1, 'bar': 2})
     compare({'foo': 1, 'bar': 2}, context)
Example #2
0
    def test_marker_interfaces(self):
        # return {Type:None}
        # don't pass when a requirement is for a type but value is None
        class Marker(object):
            pass

        m = Mock()

        def setup():
            m.setup()
            return {Marker: nothing}

        @requires(Marker)
        def use():
            m.use()

        runner = Runner()
        runner.add(setup, returns=returns_mapping(), label='setup')
        runner['setup'].add(use)
        runner()

        compare([
            call.setup(),
            call.use(),
        ], m.mock_calls)
Example #3
0
 def test_returns_mapping(self):
     def foo():
         return {'foo': 1, 'bar': 2}
     context = Context()
     result = context.call(foo, nothing, returns_mapping())
     compare(result, {'foo': 1, 'bar': 2})
     compare({'foo': 1, 'bar': 2}, context)
Example #4
0
    def test_marker_interfaces(self):
        # return {Type:None}
        # don't pass when a requirement is for a type but value is None
        class Marker(object): pass

        m = Mock()

        def setup():
            m.setup()
            return {Marker: nothing}

        @requires(Marker)
        def use():
            m.use()

        runner = Runner()
        runner.add(setup, returns=returns_mapping(), label='setup')
        runner['setup'].add(use)
        runner()

        compare([
                call.setup(),
                call.use(),
                ], m.mock_calls)
Example #5
0
 def test_returns_mapping(self):
     rt = returns_mapping()
     def foo() -> rt: pass
     check_extract(foo,
                   expected_rq=None,
                   expected_rt=rt)