def test_moveToHead(self): l = DoublyLinkedList() sanity = [] for i in xrange(8): if i % 2 == 0: l.addToHead(i) sanity = [i] + sanity else: l.addToTail(i) sanity.append(i) self.assertEqual(list(l), sanity) original_dll = l.copy() original_sanity = sanity[::] for j in xrange(i): #Move each item to the head once l.moveToHead(l.getNodeByIndex(j)) list_move_to_head(sanity, j) try: self.assertEqual(list(l), sanity) except: import code code.interact(local=locals()) l = original_dll sanity = original_sanity l = DoublyLinkedList() sanity = [] for i in xrange(8): if i % 2 == 1: l.addToHead(i) sanity = [i] + sanity else: l.addToTail(i) sanity.append(i) self.assertEqual(list(l), sanity) original_dll = l.copy() original_sanity = sanity[::] for j in xrange(i): #Move each item to the head once l.moveToHead(l.getNodeByIndex(j)) list_move_to_head(sanity, j) self.assertEqual(list(l), sanity) l = original_dll sanity = original_sanity
def test_moveToHead(self): l = DoublyLinkedList() sanity = [] for i in xrange(8): if i % 2 == 0: l.addToHead(i) sanity = [i] + sanity else: l.addToTail(i) sanity.append(i) self.assertEqual(list(l), sanity) original_dll = l.copy() original_sanity = sanity[::] for j in xrange(i): #Move each item to the head once l.moveToHead(l.getNodeByIndex(j)) list_move_to_head(sanity, j) try: self.assertEqual(list(l), sanity) except: import code; code.interact(local=locals()) l = original_dll sanity = original_sanity l = DoublyLinkedList() sanity = [] for i in xrange(8): if i % 2 == 1: l.addToHead(i) sanity = [i] + sanity else: l.addToTail(i) sanity.append(i) self.assertEqual(list(l), sanity) original_dll = l.copy() original_sanity = sanity[::] for j in xrange(i): #Move each item to the head once l.moveToHead(l.getNodeByIndex(j)) list_move_to_head(sanity, j) self.assertEqual(list(l), sanity) l = original_dll sanity = original_sanity
def test_copy(self): dll = DoublyLinkedList(range(10)) dll2 = dll.copy() self.assertEqual(dll, dll2) self.assertTrue(dll is not dll2)