Exemple #1
0
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'}
Exemple #2
0
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']
Exemple #3
0
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'
Exemple #4
0
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'
Exemple #5
0
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'
Exemple #6
0
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'