def test_forwarding_context(): value = proxy('testkey') with set_options(testkey={'test': 'val'}): assert value.compute() == {'test': 'val'} with set_options(testkey1={'test1': 'val'}): value = proxy1('testkey1') assert value.compute() == {'test1': 'val'}
def test_set_options_context_manger(): with set_options(foo='bar'): assert _globals['foo'] == 'bar' assert _globals['foo'] is None try: set_options(foo='baz') assert _globals['foo'] == 'baz' finally: del _globals['foo']
def test_set_options_default_key(): data = {'b': 'B', 'd': 'D'} with set_options(calc=data): fn = options(calc) assert fn('a') == 'aBcD' assert fn('a', 'b') == 'abcD' assert fn('a', d='d') == 'aBcd' assert fn('a', b='b', c='/', d='d') == 'ab/d'
def test_set_options_envargs(): envs = {'EPOS_TEST_B': 'B', 'EPOS_TEST_D': 'D'} with set_options(envs=envs): fn = envargs(calc, prefix='EPOS_TEST') assert fn('a') == 'aBcD' assert fn('a', 'b') == 'abcD' assert fn('a', d='d') == 'aBcd' assert fn('a', b='b', c='/', d='d') == 'ab/d'
def test_pickling_globals(): with set_options(pickler={'test': 'value', 'strange': 'thiiing'}): dumped = cp.dumps(epos, protocol=0) assert 'thiiing' in dumped assert 'pickler' in dumped assert _globals['pickler'] is None cp.loads(dumped) assert _globals['pickler']['test'] == 'value' assert _globals['pickler']['strange'] == 'thiiing'
def test_lazyargs(): @lazyargs def c1(a, b, c='c', d='d'): return a + b + c + d @lazyargs @curry def c2(a, b, c='c', d='d'): return a + b + c + d with set_options(c1={'c': 'C'}, c2={'c': 'C'}): assert c1('a', 'b') == 'abCd' assert c1('b', 'a') == 'baCd' assert c2('a', 'b') == 'abCd' assert c2('b', 'a') == 'baCd' with set_options(c1={'c': 'C', 'd': 'D'}, c2={'c': 'C', 'd': 'D'}): assert c1('a', 'b') == 'abCD' assert c1('a', b='b', d='d') == 'abCd' assert c1('a', b='b', c='/', d='d') == 'ab/d' assert c2('a', 'b') == 'abCD' assert c2('a', b='b', d='d') == 'abCd' assert c2('a', b='b', c='/', d='d') == 'ab/d'