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)
	def test_copy(self):
		dll = DoublyLinkedList(range(10))
		dll2 = dll.copy()
		self.assertEqual(dll, dll2)
		self.assertTrue(dll is not dll2)