コード例 #1
0
ファイル: test_DictUtils.py プロジェクト: davidfraser/j5basic
    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)
コード例 #2
0
    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() == []
コード例 #3
0
ファイル: test_DictUtils.py プロジェクト: davidfraser/j5basic
    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)
コード例 #4
0
 def bad_dict():
     d = DictUtils.ordereddict(*k)
コード例 #5
0
ファイル: test_DictUtils.py プロジェクト: rorygrandin/j5basic
            "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(