def test_key_and_value_ordering(self): k = [5,1,2,3,7,6] v = ["a","b","c","d","e","f"] d = DictUtils.ordereddict(zip(k,v)) assert d.keys() == k assert d.values() == v assert d.items() == zip(k,v) assert list(d.iterkeys()) == k assert list(d.itervalues()) == v assert list(d.iteritems()) == zip(k,v)
def test_dict(self): # Make an empty one cleand = DictUtils.ordereddict() # Make one from another k = [5, 1, 2, 3, 7, 6] v = ["a", "b", "c", "d", "e", "f"] d = DictUtils.ordereddict(DictUtils.ordereddict(list(zip(k, v)))) def bad_dict(): d = DictUtils.ordereddict(*k) d.setdefault(5, "g") assert d.get(5, None) == "a" d.update(t="g") assert d["t"] == "g" d.update([(7, "g")]) assert d[7] == "g" d.update({8: "h"}) assert d[8] == "h" assert raises(TypeError, bad_dict) del d[1] assert d.keys() == [5, 2, 3, 7, 6, "t", 8] copyd = d.copy() assert list(copyd.keys()) == [5, 2, 3, 7, 6, "t", 8] assert list(copyd.values()) == ["a", "c", "d", "g", "f", "g", "h"] assert list(copyd.items()) assert raises(KeyError, cleand.popitem) assert copyd.popitem() == (8, "h") assert copyd.pop(9, "default") == "default" assert copyd.pop(3) == "d" assert copyd.keys() == [5, 2, 7, 6, "t"] copyd.clear() assert copyd.keys() == []
def test_setting(self): k = [5,1,2,3,7,6] v = ["a","b","c","d","e","f"] d = DictUtils.ordereddict(zip(k,v)) d.setdefault(8,"g") k.append(8) v.append("g") assert d.keys() == k assert d.values() == v assert d.items() == zip(k,v) assert list(d.iterkeys()) == k assert list(d.itervalues()) == v assert list(d.iteritems()) == zip(k,v)
def bad_dict(): d = DictUtils.ordereddict(*k)
"3": 4, "5": 6 }) DictUtils.assert_dicts_equal(DictUtils.mapdict(td, None, valuemap), { 1: 3, 3: 5, 5: 7 }) DictUtils.assert_dicts_equal(DictUtils.mapdict(td, keymap, valuemap), { "1": 3, "3": 5, "5": 7 }) simple_od = DictUtils.ordereddict() simple_od[99] = [('a', 1), ('b', 2)] simple_od[1] = [('c', 3), ('d', 4)] simple_od[7] = [('e', 5), ('f', 6)] class OrderedDictInABox(object): def __init__(self, message, ordered_dict): self.message = message self.od = ordered_dict inner_od = DictUtils.ordereddict() inner_od['first'] = datetime_tz.datetime_tz(1979, 8, 8, 16) inner_od['second'] = {'a': 1, 'b': 2, 'c': 3} inner_od['third'] = OrderedDictInABox(