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)
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)
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)
def test_returns_mapping(self): rt = returns_mapping() def foo() -> rt: pass check_extract(foo, expected_rq=None, expected_rt=rt)