Exemplo n.º 1
0
 def test_nonempty_list( self ):
     ll = DoubleLinkedList()
     ll.add( 50 )
     ll.add( 55 )
     ll.add( 60 )
     ll.add( 65 )
     self.assertEqual( ll.toList(), [65,60,55,50] )
Exemplo n.º 2
0
 def test_insert_and_remove_list( self ):
     ll = DoubleLinkedList()
     ll.add( 50 )
     ll.addEnd( 100 )
     ll.insert( 150, ll.search(50) ) # insert in middle
     self.assertEqual( ll.size(), 3 )
     ll.remove( ll.search( 150 ) )
     self.assertEqual( ll.size(), 2 )
     self.assertEqual( ll.toList(), [50, 100] )
Exemplo n.º 3
0
 def test_insert_remove_and_reverse_list( self ):
     ll = DoubleLinkedList()
     ll.add( 50 )
     ll.addEnd( 100 )
     ll.insert( 150, ll.search(50) ) # insert in middle
     self.assertEqual( ll.size(), 3 )
     ll.remove( ll.search( 50 ) )
     self.assertEqual( ll.size(), 2 )
     ll.reverse()
     # NOTE: This test is testing that you don't forget to
     # update next / prev properly when inserting..
     self.assertEqual( ll.toList(), [100, 150] )
Exemplo n.º 4
0
 def test_nonempty_list_reverse_updates_prev_ptr( self ):
     ll = DoubleLinkedList()
     ll.add( 50 )
     ll.add( 55 )
     ll.add( 60 )
     ll.add( 65 )
     ll.reverse()
     n60 = ll.remove( ll.search( 60 ) )
     # NOTE: This test is testing that you aren't cheating with
     # your reverse() function by just doing what a singly linked
     # list does..  it might run into an infinite loop :)
     self.assertEqual( ll.toList(), [50,55,65] )
Exemplo n.º 5
0
 def test_nonempty_list( self ):
     ll = DoubleLinkedList()
     ll.add( 50 )
     ll.add( 55 )
     ll.add( 60 )
     ll.add( 65 )
     old_head = ll.head
     old_tail = ll.tail
     ll.reverse()
     self.assertEqual( ll.head, old_tail )
     self.assertEqual( ll.tail, old_head )
     self.assertEqual( ll.toList(), [50,55,60,65] )
Exemplo n.º 6
0
 def test_empty_list( self ):
     ll = DoubleLinkedList()
     ll.reverse()
     self.assertEqual( ll.toList(), [] )