Exemplo n.º 1
0
 def test_linked_list_with_no_cycle(self):
     fourth = Test.LinkedListNode(4)
     third = Test.LinkedListNode(3, fourth)
     second = Test.LinkedListNode(2, third)
     first = Test.LinkedListNode(1, second)
     result = contains_cycle(first)
     self.assertFalse(result)
Exemplo n.º 2
0
 def test_cycle_loops_to_beginning(self):
     fourth = Test.LinkedListNode(4)
     third = Test.LinkedListNode(3, fourth)
     second = Test.LinkedListNode(2, third)
     first = Test.LinkedListNode(1, second)
     fourth.next = first
     result = contains_cycle(first)
     self.assertTrue(result)
Exemplo n.º 3
0
 def test_two_node_cycle_at_end(self):
     fifth = Test.LinkedListNode(5)
     fourth = Test.LinkedListNode(4, fifth)
     third = Test.LinkedListNode(3, fourth)
     second = Test.LinkedListNode(2, third)
     first = Test.LinkedListNode(1, second)
     fifth.next = fourth
     result = contains_cycle(first)
     self.assertTrue(result)
Exemplo n.º 4
0
 def test_cycle_loops_to_middle(self):
     fifth = Test.LinkedListNode(5)
     fourth = Test.LinkedListNode(4, fifth)
     third = Test.LinkedListNode(3, fourth)
     second = Test.LinkedListNode(2, third)
     first = Test.LinkedListNode(1, second)
     fifth.next = third
     result = contains_cycle(first)
     self.assertTrue(result)
Exemplo n.º 5
0
 def test_one_element_linked_list_cycle(self):
     first = Test.LinkedListNode(1)
     first.next = first
     result = contains_cycle(first)
     self.assertTrue(result)
Exemplo n.º 6
0
 def test_one_element_linked_list_no_cycle(self):
     first = Test.LinkedListNode(1)
     result = contains_cycle(first)
     self.assertFalse(result)
Exemplo n.º 7
0
 def test_empty_list(self):
     result = contains_cycle(None)
     self.assertFalse(result)