Exemplo n.º 1
0
 def testPerf(self):
     self.dll = DoubleLinkedList()
     for i in range(1000):
         self.dll.append(i)
     for i in range(1000):
         self.dll.remove(i)
     self.assertEqual(self.dll.length(), 0)
Exemplo n.º 2
0
    def testAppendAndRemove(self):
        self.dll = DoubleLinkedList()

        self.dll.append(1)
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 1)
        self.dll.append('Hello')
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 2)
        self.dll.append((10, 11))
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 3)
        self.dll.append({1: 'a', 2: 'b'})
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 4)
        self.dll.append(1)
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 5)
        self.dll.append([1, 2, 3, 4, 5])
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 6)
        self.dll.append(1)
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 7)

        self.dll.remove(1)
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 4)
        self.dll.remove('Hello')
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 3)
        self.dll.remove({1: 'a', 2: 'b'})
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 2)
        self.dll.remove([1, 2, 3, 4, 5])
        self.assertNotEqual(self.dll.head, None)
        self.assertNotEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 1)

        self.dll.remove((10, 11))
        self.assertEqual(self.dll.head, None)
        self.assertEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 0)
        self.dll.remove((10, 11))

        self.assertEqual(self.dll.head, None)
        self.assertEqual(self.dll.tail, None)
        self.assertEqual(self.dll.length(), 0)
Exemplo n.º 3
0
 def testPrint(self):
     self.dll = DoubleLinkedList()
     self.dll.append(1)
     self.dll.append(2)
     self.dll.append(3)
     self.assertEqual(self.dll.show(), '1 <-> 2 <-> 3')
Exemplo n.º 4
0
 def testInit(self):
     self.dll = DoubleLinkedList()
     self.assertEqual(self.dll.head, None)
     self.assertEqual(self.dll.tail, None)
     self.assertEqual(self.dll.length(), 0)