Ejemplo n.º 1
0
 def test_is_intersecting_false(self):
     ll1 = LinkedListT(10)
     ll2 = LinkedListT(4)
     ret, node = is_intersecting(ll1, ll2) 
     self.assertFalse(ret)
     ret, node = is_intersecting(ll2, ll1) # communitative
     self.assertFalse(ret)
Ejemplo n.º 2
0
 def test_LinkedListT_append(self):
     ll = LinkedListT()
     ll.append(5)
     self.assertEqual(ll.length, 1)
     self.assertTrue(ll.contains(5))
     ll.append(1)
     ll.append(2)
     self.assertEqual(ll.length, 3)
     self.assertTrue(ll.contains(1))
     self.assertTrue(ll.contains(2))
     self.assertFalse(ll.contains(0))
Ejemplo n.º 3
0
 def test_LinkedListT_remove_dup2(self):
     l1 = LinkedListT(list_length=10)
     for i in range(0, 5):
         l1.append(i)
     soln = LinkedListT(list_length=10)
     l1.remove_duplicates2()
     self.assertTrue(l1.compare(soln))
     self.assertTrue(l1.length, 10)
Ejemplo n.º 4
0
 def test_is_intersecting_beg(self):
     ll1 = LinkedListT(10)
     ll2 = LinkedListT(4)
     ll2.append(50)
     ret, node = ll1.kth_last_node(10)
     self.assertTrue(ret)
     ll2.setTail(node)
     ret, node = is_intersecting(ll1, ll2)
     self.assertTrue(ret)
     self.assertEqual(node.data, 0)
     ret, node = is_intersecting(ll2, ll1) # commutative
     self.assertTrue(ret)
     self.assertEqual(node.data, 0)
Ejemplo n.º 5
0
 def test_sum_lists(self):
     LLT1 = LinkedListT(3) # 0 1 2
     LLT2 = LinkedListT(4) # 0 1 2 3
     soln = LinkedListT()  # 0 2 4 3
     soln.append(0)
     soln.append(2)
     soln.append(4)
     soln.append(3)
     lt_sum = sum_lists(LLT1, LLT2)
     self.assertTrue(lt_sum.compare(soln))
Ejemplo n.º 6
0
    def test_is_circular(self):
        LT = LinkedListT(10, circular=True)
        isloop, node = LT.loop_detection()
        self.assertTrue(isloop)
        self.assertEqual(node.data, 0)

        LT2 = LinkedListT(10, circular=False)
        isloop, node = LT2.loop_detection()
        self.assertFalse(isloop)

        LT3 = LinkedListT(10, circular=True, k=3)
        
        isloop, node = LT3.loop_detection()
        self.assertTrue(isloop)
        self.assertEqual(node.data, 3)
Ejemplo n.º 7
0
    def test_LinkedListT_is_palindrome(self):
        ll = LinkedListT(2)
        self.assertFalse(ll.isPalindrome())

        ll = LinkedListT()
        for i in range(0,3):
            ll.prepend(i)
        for i in range(2, -1, -1):
            ll.prepend(i)
        self.assertTrue(ll.isPalindrome())

        lt = LinkedListT()
        for i in range(0,3):
            lt.prepend(i)
            lt.append(i)
        self.assertTrue(lt.isPalindrome())
Ejemplo n.º 8
0
 def test_LinkedListT_partition(self):
     ll = LinkedListT(list_length=10)
     for i in range(1, 9):
         ll.partition(i)
         self.assertTrue(ll.test_partition(i))
Ejemplo n.º 9
0
 def test_LinkedListT_kth_last_node(self):
     ll = LinkedListT(list_length=10)
     for i in range(1, 10):
         success, node = ll.kth_last_node(i)
         self.assertTrue(success)
         self.assertEqual(node.data, 10-i)
Ejemplo n.º 10
0
 def test_LinkedListT_init(self):
     ll = LinkedListT()
     self.assertEqual(ll.length, 0)
Ejemplo n.º 11
0
 def test_LinkedListT_compare(self):
     l1 = LinkedListT(list_length=10)
     l2 = LinkedListT(list_length=10)
     self.assertTrue(l1.compare(l2))
Ejemplo n.º 12
0
 def test_LinkedListT_remove(self):
     ll = LinkedListT()
     ll.prepend(5)
     self.assertEqual(ll.length, 1)
     self.assertTrue(ll.contains(5))
     ll.remove(5)
     self.assertEqual(ll.length, 0)
     self.assertFalse(ll.contains(5))
     ll.prepend(1)
     ll.prepend(2)
     self.assertEqual(ll.length, 2)
     self.assertFalse(ll.contains(5))
     self.assertTrue(ll.contains(1))
     self.assertTrue(ll.contains(2))
     ll.remove(1)
     ll.remove(2)
     self.assertEqual(ll.length, 0)
     self.assertFalse(ll.contains(1))
     self.assertFalse(ll.contains(2))
Ejemplo n.º 13
0
 def test_sum_lists_carry(self):
     LLT1 = LinkedListT(8) 
     rev = LLT1.reverse()  # 7 6 5 4 3 2 1 0
     LLT2 = LinkedListT(6) 
     LLT2.remove(0)
     LLT2.remove(1)
     LLT2.remove(2)        # 3 4 5
     soln = LinkedListT()  # 0 1 1 5 3 2 1 0
     soln.append(0)
     soln.append(1)
     soln.append(1)
     soln.append(5)
     soln.append(3)
     soln.append(2)
     soln.append(1)
     soln.append(0)
     lt_sum = sum_lists(rev, LLT2)
     self.assertTrue(lt_sum.compare(soln))
Ejemplo n.º 14
0
 def test_sum_lists2(self):
     LLT1 = LinkedListT(list_length=3, init_vals=[6, 6, 6]) #
     LLT2 = LinkedListT(list_length=3, init_vals=[3, 5, 7]) # 
     soln = LinkedListT(list_length=4, init_vals=[9, 1, 4, 1])  # 0 2 4 3
     lt_sum = sum_lists(LLT1, LLT2)
     self.assertTrue(lt_sum.compare(soln))