コード例 #1
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_set():
    d = immutabledict(a=1)
    nd = d.set('a', 1)
    assert nd is d

    d = immutabledict(a=1)
    nd = d.set('b', 2)
    assert nd == dict(a=1, b=2)
    assert d == dict(a=1)
コード例 #2
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_del():
    d = immutabledict(a=1)
    nd = d.del_('b')
    assert nd is d

    d = immutabledict(a=1)
    nd = d.del_('a')
    assert nd == {}
    assert d == dict(a=1)
コード例 #3
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_dict_setdefault():
    d = immutabledict(a=1)
    val, nd = d.setdefault('a', 10)
    assert d == dict(a=1)
    assert nd is d
    assert val == 1

    d = immutabledict(a=1)
    val, nd = d.setdefault('b', 10)
    assert nd == dict(a=1, b=10)
    assert d == dict(a=1)
    assert val == 10
コード例 #4
0
ファイル: mangler.py プロジェクト: fjarri/peval
def mangle(gen_sym, node):
    fn_locals = analyze_scope(node).locals
    state, new_node = _mangle(
        dict(gen_sym=gen_sym, mangled=immutabledict()),
        node,
        ctx=dict(fn_locals=fn_locals))
    return state.gen_sym, new_node
コード例 #5
0
ファイル: expression.py プロジェクト: fjarri/peval
def map_reify(state, container):
    acc = (state.gen_sym, immutabledict())
    acc, new_container = map_accum(_reify_func, acc, container)
    gen_sym, bindings = acc

    new_state = state.update(gen_sym=gen_sym, temp_bindings=state.temp_bindings.update(bindings))

    return new_state, new_container
コード例 #6
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_update():
    d = immutabledict(a=1)
    nd = d.update()
    assert nd is d

    d = immutabledict(a=1)
    nd = d.update(('b', 2))
    assert nd == dict(a=1, b=2)
    assert d == dict(a=1)

    d = immutabledict(a=1)
    nd = d.update(b=2)
    assert nd == dict(a=1, b=2)
    assert d == dict(a=1)

    d = immutabledict(a=1)
    nd = d.update(('b', 2), c=3)
    assert nd == dict(a=1, b=2, c=3)
    assert d == dict(a=1)

    d = immutabledict(a=1)
    nd = d.update(dict(b=2), b=3)
    assert nd == dict(a=1, b=3)
    assert d == dict(a=1)

    d = immutabledict(a=1)
    nd = d.update(a=1)
    assert nd is d
コード例 #7
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_dict_clear():
    d = immutabledict(a=1)
    nd = d.clear()
    assert nd == {}
    assert d == dict(a=1)
コード例 #8
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_set_syntax():
    d = immutabledict(a=1)
    with pytest.raises(AttributeError):
        d['b'] = 2
コード例 #9
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_del_syntax():
    d = immutabledict(a=1)
    with pytest.raises(AttributeError):
        del d['a']
コード例 #10
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_dict_popitem():
    d = immutabledict(a=1)
    val, nd = d.popitem()
    assert nd == {}
    assert d == dict(a=1)
    assert val == ('a', 1)
コード例 #11
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_dict_pop():
    d = immutabledict(a=1)
    val, nd = d.pop('a')
    assert nd == {}
    assert d == dict(a=1)
    assert val == 1
コード例 #12
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_dict_copy():
    d = immutabledict(a=1)
    nd = d.copy()
    assert d is nd
    assert nd == dict(a=1)
コード例 #13
0
ファイル: test_immutable.py プロジェクト: fjarri/peval
def test_dict_repr():
    d = immutabledict(a=1)
    nd = eval(repr(d))
    assert type(nd) == type(d)
    assert nd == d