Ejemplo n.º 1
0
 def testDequeDict(self):        
     m = DequeDict()
     m.appendleft("piet", 10)
     self.assertEquals(1, len(m))
     m.appendleft("klaas", 20)
     self.assertEquals(2, len(m))
     self.assertTrue("piet" in m)
     self.assertTrue("klaas" in m)
     self.assertFalse("jan" in m)
     self.assertTrue("jan" not in m)
     i = m.iteritemsright()
     self.assertEquals(("piet", 10), i.next())
     self.assertEquals(("klaas", 20), i.next())
     m.movehead("piet")
     i = m.iteritemsright()
     self.assertEquals(("klaas", 20), i.next())
     self.assertEquals(("piet", 10), i.next())
     try: 
         i.next()
         self.fail("expected end of iter")
     except:
         pass
     self.assertEquals(m["piet"], 10)
     del m["piet"]
     self.assertEquals(1, len(m))
     self.assertTrue("piet" not in m)
     self.assertEquals(("klaas", 20), m.pop())
     self.assertEquals(0, len(m))
Ejemplo n.º 2
0
 def testPickle(self):
     m = DequeDict()
     N = 10
     for i in range(N):
         m.append(i, i)
     p1 = m.items()
     import pickle
     s = pickle.dumps(m)
     x = pickle.loads(s)
     p2 = x.items()
     self.assertEquals(p1, p2)
     self.assertEquals(m.d.keys(), x.d.keys())
Ejemplo n.º 3
0
 def testPickle(self):
     m = DequeDict()
     N = 10
     for i in range(N):
         m.append(i, i)
     p1 = m.items()
     import pickle
     s = pickle.dumps(m)
     x = pickle.loads(s)
     p2 = x.items()
     self.assertEquals(p1, p2)
     self.assertEquals(m.d.keys(), x.d.keys())
Ejemplo n.º 4
0
 def testDequeDict(self):
     m = DequeDict()
     m.appendleft("piet", 10)
     self.assertEquals(1, len(m))
     m.appendleft("klaas", 20)
     self.assertEquals(2, len(m))
     self.assertTrue("piet" in m)
     self.assertTrue("klaas" in m)
     self.assertFalse("jan" in m)
     self.assertTrue("jan" not in m)
     i = m.iteritemsright()
     self.assertEquals(("piet", 10), i.next())
     self.assertEquals(("klaas", 20), i.next())
     m.movehead("piet")
     i = m.iteritemsright()
     self.assertEquals(("klaas", 20), i.next())
     self.assertEquals(("piet", 10), i.next())
     try:
         i.next()
         self.fail("expected end of iter")
     except:
         pass
     self.assertEquals(m["piet"], 10)
     del m["piet"]
     self.assertEquals(1, len(m))
     self.assertTrue("piet" not in m)
     self.assertEquals(("klaas", 20), m.pop())
     self.assertEquals(0, len(m))
Ejemplo n.º 5
0
    def testDequeDict(self):
        m = DequeDict()
        m.appendleft("piet", 10)
        self.assertEquals(1, len(m))
        m.appendleft("klaas", 20)
        self.assertEquals(2, len(m))
        self.assertTrue("piet" in m)
        self.assertTrue("klaas" in m)
        self.assertFalse("jan" in m)
        self.assertTrue("jan" not in m)
        i = m.iteritemsright()
        self.assertEquals(("piet", 10), i.next())
        self.assertEquals(("klaas", 20), i.next())
        m.movehead("piet")
        i = m.iteritemsright()
        self.assertEquals(("klaas", 20), i.next())
        self.assertEquals(("piet", 10), i.next())
        try:
            i.next()
            self.fail("expected end of iter")
        except:
            pass
        self.assertEquals(m["piet"], 10)
        del m["piet"]
        self.assertEquals(1, len(m))
        self.assertTrue(bool(m))
        self.assertTrue("piet" not in m)
        self.assertEquals(("klaas", 20), m.pop())
        self.assertEquals(0, len(m))
        self.assertFalse(bool(m))

        m.append("a", 10)
        m.append("b", 20)
        m.append("c", 30)

        x = []
        for key in m.iterkeys():
            x.append(key)
        self.assertEquals(['a', 'b', 'c'], x)

        x = []
        for key in m.iterkeysright():
            x.append(key)
        self.assertEquals(['c', 'b', 'a'], x)

        x = []
        for key in m.itervalues():
            x.append(key)
        self.assertEquals([10, 20, 30], x)

        self.assertEquals(['a', 'b', 'c'], m.keys())
        self.assertEquals([10, 20, 30], m.values())
        self.assertEquals([('a', 10), ('b', 20), ('c', 30)], m.items())

        x = []
        for key in m:
            x.append(key)
        self.assertEquals(['a', 'b', 'c'], x)

        self.assertEquals("dequedict([('a', 10),('b', 20),('c', 30)])", repr(m))

        self.assertEquals(('a', 10), m.popleft())
        m.removeall('b')
        self.assertFalse('b' in m)
        self.assertEquals(('c', 30), m.popleft())