Ejemplo n.º 1
0
 def test_cmp(self):
     a = sllist(xrange(0, 1100))
     b = sllist(xrange(0, 1101))
     c = range(0, 1100)
     self.assertEqual(cmp(a, a), 0)
     self.assertEqual(cmp(a, b), -1)
     self.assertEqual(cmp(b, a), 1)
     self.assertEqual(cmp(a, c), 0)
     self.assertEqual(cmp(c, a), 0)
     self.assertEqual(cmp([], []), 0)
     self.assertEqual(cmp([], a), -1)
     self.assertEqual(cmp(a, []), 1)
Ejemplo n.º 2
0
 def test_cmp(self):
     a = sllist(xrange(0, 1100))
     b = sllist(xrange(0, 1101))
     c = range(0, 1100)
     self.assertEqual(cmp(a, a), 0)
     self.assertEqual(cmp(a, b), -1)
     self.assertEqual(cmp(b, a), 1)
     self.assertEqual(cmp(a, c), 0)
     self.assertEqual(cmp(c, a), 0)
     self.assertEqual(cmp([], []), 0)
     self.assertEqual(cmp([], a), -1)
     self.assertEqual(cmp(a, []), 1)
Ejemplo n.º 3
0
 def test_nodeat(self):
     ref = range(0, 1024, 4)
     ll = dllist(ref)
     for idx in xrange(len(ll)):
         self.assertTrue(isinstance(ll.nodeat(idx), dllistnode))
         self.assertEqual(ll.nodeat(idx).value, ref[idx])
     for idx in xrange(len(ll)):
         self.assertTrue(isinstance(ll.nodeat(idx), dllistnode))
         self.assertEqual(ll.nodeat(-idx - 1).value, ref[-idx - 1])
     self.assertRaises(TypeError, ll.nodeat, None)
     self.assertRaises(TypeError, ll.nodeat, 'abc')
     self.assertRaises(IndexError, ll.nodeat, len(ref))
     self.assertRaises(IndexError, ll.nodeat, -len(ref) - 1)
Ejemplo n.º 4
0
 def test_getitem(self):
     ref = range(0, 1024, 4)
     ll = dllist(ref)
     for idx in xrange(len(ll)):
         self.assertFalse(isinstance(ll[idx], dllistnode))
         self.assertEqual(ll[idx], ref[idx])
     for idx in xrange(len(ll)):
         self.assertFalse(isinstance(ll[idx], dllistnode))
         self.assertEqual(ll[-idx - 1], ref[-idx - 1])
     self.assertRaises(TypeError, ll.__getitem__, None)
     self.assertRaises(TypeError, ll.__getitem__, 'abc')
     self.assertRaises(IndexError, ll.__getitem__, len(ref))
     self.assertRaises(IndexError, ll.__getitem__, -len(ref) - 1)
Ejemplo n.º 5
0
 def test_nodeat(self):
     ref = range(0, 1024, 4)
     ll = dllist(ref)
     for idx in xrange(len(ll)):
         self.assertTrue(isinstance(ll.nodeat(idx), dllistnode))
         self.assertEqual(ll.nodeat(idx).value, ref[idx])
     for idx in xrange(len(ll)):
         self.assertTrue(isinstance(ll.nodeat(idx), dllistnode))
         self.assertEqual(ll.nodeat(-idx - 1).value, ref[-idx - 1])
     self.assertRaises(TypeError, ll.nodeat, None)
     self.assertRaises(TypeError, ll.nodeat, 'abc')
     self.assertRaises(IndexError, ll.nodeat, len(ref))
     self.assertRaises(IndexError, ll.nodeat, -len(ref) - 1)
Ejemplo n.º 6
0
 def test_getitem(self):
     ref = range(0, 1024, 4)
     ll = dllist(ref)
     for idx in xrange(len(ll)):
         self.assertFalse(isinstance(ll[idx], dllistnode))
         self.assertEqual(ll[idx], ref[idx])
     for idx in xrange(len(ll)):
         self.assertFalse(isinstance(ll[idx], dllistnode))
         self.assertEqual(ll[-idx - 1], ref[-idx - 1])
     self.assertRaises(TypeError, ll.__getitem__, None)
     self.assertRaises(TypeError, ll.__getitem__, 'abc')
     self.assertRaises(IndexError, ll.__getitem__, len(ref))
     self.assertRaises(IndexError, ll.__getitem__, -len(ref) - 1)
Ejemplo n.º 7
0
 def test_insert_value_before_first(self):
     ll = sllist(xrange(4))
     ref = sllist([10, 0, 1, 2, 3])
     next = ll.nodeat(0)
     arg_node = sllistnode(10)
     new_node = ll.insert(arg_node, ll.nodeat(0))
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, next)
     self.assertEqual(new_node, ll.first)
     self.assertEqual(ll, ref)
Ejemplo n.º 8
0
 def test_appendleft(self):
     ll = sllist(xrange(4))
     ref = sllist([10, 0, 1, 2, 3])
     next = ll.nodeat(0)
     arg_node = sllistnode(10)
     new_node = ll.appendleft(arg_node)
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, next)
     self.assertEqual(ll.first, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 9
0
 def test_insert_value_before_first(self):
     ll = sllist(xrange(4))
     ref = sllist([10, 0, 1, 2, 3])
     next = ll.nodeat(0)
     arg_node = sllistnode(10)
     new_node = ll.insert(arg_node, ll.nodeat(0))
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, next)
     self.assertEqual(new_node, ll.first)
     self.assertEqual(ll, ref)
Ejemplo n.º 10
0
 def test_appendleft(self):
     ll = sllist(xrange(4))
     ref = sllist([10, 0, 1, 2, 3])
     next = ll.nodeat(0)
     arg_node = sllistnode(10)
     new_node = ll.appendleft(arg_node)
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, next)
     self.assertEqual(ll.first, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 11
0
 def test_append(self):
     ll = sllist(xrange(4))
     ref = sllist([0, 1, 2, 3, 10])
     prev = ll.nodeat(-1)
     arg_node = sllistnode(10)
     new_node = ll.append(arg_node)
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, None)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(ll.last, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 12
0
 def test_insert_value_before(self):
     ll = sllist(xrange(4))
     ref = sllist([0, 1, 10, 2, 3])
     prev = ll.nodeat(1)
     next = ll.nodeat(2)
     arg_node = sllistnode(10)
     new_node = ll.insert(arg_node, ll.nodeat(2))
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, next)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 13
0
 def test_append(self):
     ll = sllist(xrange(4))
     ref = sllist([0, 1, 2, 3, 10])
     prev = ll.nodeat(-1)
     arg_node = sllistnode(10)
     new_node = ll.append(arg_node)
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, None)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(ll.last, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 14
0
 def test_insert_value_before(self):
     ll = sllist(xrange(4))
     ref = sllist([0, 1, 10, 2, 3])
     prev = ll.nodeat(1)
     next = ll.nodeat(2)
     arg_node = sllistnode(10)
     new_node = ll.insert(arg_node, ll.nodeat(2))
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.next, next)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 15
0
 def test_insert_value_after_last(self):
     ll = dllist(xrange(4))
     ref = dllist([0, 1, 2, 3, 10])
     prev = ll.nodeat(3)
     arg_node = dllistnode(10)
     new_node = ll.insert(arg_node, after=ll.last)
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.prev, prev)
     self.assertEqual(new_node.next, None)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(new_node, ll.last)
     self.assertEqual(ll, ref)
Ejemplo n.º 16
0
 def test_insert_value_after_last(self):
     ll = dllist(xrange(4))
     ref = dllist([0, 1, 2, 3, 10])
     prev = ll.nodeat(3)
     arg_node = dllistnode(10)
     new_node = ll.insert(arg_node, after=ll.last)
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.prev, prev)
     self.assertEqual(new_node.next, None)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(new_node, ll.last)
     self.assertEqual(ll, ref)
Ejemplo n.º 17
0
 def test_insert_value_after(self):
     ll = dllist(xrange(4))
     ref = dllist([0, 1, 10, 2, 3])
     prev = ll.nodeat(1)
     next = ll.nodeat(2)
     arg_node = dllistnode(10)
     new_node = ll.insert(arg_node, after=ll.nodeat(1))
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.prev, prev)
     self.assertEqual(new_node.next, next)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(next.prev, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 18
0
 def test_insert_value_after(self):
     ll = dllist(xrange(4))
     ref = dllist([0, 1, 10, 2, 3])
     prev = ll.nodeat(1)
     next = ll.nodeat(2)
     arg_node = dllistnode(10)
     new_node = ll.insert(arg_node, after=ll.nodeat(1))
     self.assertNotEqual(new_node, arg_node)
     self.assertEqual(new_node.value, 10)
     self.assertEqual(new_node.prev, prev)
     self.assertEqual(new_node.next, next)
     self.assertEqual(prev.next, new_node)
     self.assertEqual(next.prev, new_node)
     self.assertEqual(ll, ref)
Ejemplo n.º 19
0
    def test_del(self):
        ref = range(0, 1024, 4)
        ll = dllist(ref)
        del ll[0]
        del ref[0]
        self.assertEqual(list(ll), ref)
        del ll[len(ll) - 1]
        del ref[len(ref) - 1]
        self.assertEqual(list(ll), ref)
        del ll[(len(ll) - 1) // 2]
        del ref[(len(ref) - 1) // 2]
        self.assertEqual(list(ll), ref)

        def del_item(idx):
            del ll[idx]
        self.assertRaises(IndexError, del_item, len(ll))

        for i in xrange(len(ll)):
            del ll[0]
        self.assertEqual(len(ll), 0)
Ejemplo n.º 20
0
    def test_del(self):
        ref = range(0, 1024, 4)
        ll = dllist(ref)
        del ll[0]
        del ref[0]
        self.assertEqual(list(ll), ref)
        del ll[len(ll) - 1]
        del ref[len(ref) - 1]
        self.assertEqual(list(ll), ref)
        del ll[(len(ll) - 1) // 2]
        del ref[(len(ref) - 1) // 2]
        self.assertEqual(list(ll), ref)

        def del_item(idx):
            del ll[idx]
        self.assertRaises(IndexError, del_item, len(ll))

        for i in xrange(len(ll)):
            del ll[0]
        self.assertEqual(len(ll), 0)