

def test_dict():
    d = MultiDict({
        'a': 1,
    })
    assert (d.items() == [('a', 1)])
    d['b'] = 2
    d['c'] = 3
    assert (d.items() == [('a', 1), ('b', 2), ('c', 3)])
    d['b'] = 4
    assert (d.items() == [('a', 1), ('c', 3), ('b', 4)])
    d.add('b', 5)
    assert_raises(KeyError, d.getone, 'b')
    assert (d.getall('b') == [4, 5])
    assert (d.items() == [('a', 1), ('c', 3), ('b', 4), ('b', 5)])
    del d['b']
    assert (d.items() == [('a', 1), ('c', 3)])
    assert (d.pop('xxx', 5) == 5)
    assert (d.getone('a') == 1)
    assert (d.popitem() == ('c', 3))
    assert (d.items() == [('a', 1)])
    item = []
    assert (d.setdefault('z', item) is item)
    assert (d.items() == [('a', 1), ('z', item)])
    assert (d.setdefault('y', 6) == 6)
    assert (item.mixed() == {
        'a': 1,
        'y': 6,
        'z': item,
    })
    assert (d.dict_of_lists() == {
        'a': [1],
        'y': [6],
        'z': [item],
    })
    assert ('a' in d)
    dcopy = d.copy()
    assert (dcopy is not d)
    assert (dcopy == d)
    d['x'] = 'x test'
    assert (dcopy != d)
    d[(1, None)] = (None, 1)
    assert (d.items() == [('a', 1), ('z', []), ('y', 6), ('x', 'x test'), ((1, None), (None, 1))])

dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/Paste-2.0.1/tests/test_multidict.py test_dict/VarMisuse@335/402 `d`->`item`