def test_twoelements_notdistinct(self):
     """Test when there are two elements, but they're the same."""
     root = Node(key=42)
     right = Node(key=42)
     root.right = right
     self.assertEqual(ffk_it(root, 42), root)
     self.assertEqual(ffk_rec(root, 42), root)
 def test_twoelements_distinct(self):
     """Test when there's two distinct elements."""
     root = Node(key=42)
     right = Node(key=50)
     root.right = right
     self.assertEqual(ffk_it(root, 42), root)
     self.assertEqual(ffk_rec(root, 50), right)
 def test_threeelements_notdistinct(self):
     """Test when there's three elements, but they're not all distinct."""
     root = Node(key=42)
     left = Node(key=19)
     right = Node(key=42)
     root.right = right
     root.left = left
     self.assertEqual(fltk(root, 42), None)
     self.assertEqual(fltk(root, 19), root)
 def test_threeelements_chain(self):
     """Tests three-element tree where root has one child."""
     root = Node(key=42)
     left = Node(key=10)
     right = Node(key=28)
     root.left = left
     left.right = right
     self.assertEqual(Node.getheight(root), 2)
     self.assertEqual(Node.getheight(left), 1)
     self.assertEqual(Node.getheight(right), 0)
Exemplo n.º 5
0
 def test_threeelements_chain(self):
     """Tests three-element tree where root has one child."""
     root = Node(key=42)
     left = Node(key=50)
     right = Node(key=100)
     root.left = left
     left.right = right
     self.assertTrue(findk(root, 42))
     self.assertTrue(findk(root, 50))
     self.assertTrue(findk(root, 100))
Exemplo n.º 6
0
 def test_threeelements_split(self):
     """Tests three-element tree where root has two children."""
     root = Node(key=42)
     left = Node(key=50)
     right = Node(key=100)
     root.left = left
     root.right = right
     self.assertTrue(findk(root, 42))
     self.assertTrue(findk(root, 50))
     self.assertTrue(findk(root, 100))
 def test_threeelements_distinct(self):
     """Test when there's three distinct elements."""
     root = Node(key=42)
     left = Node(key=19)
     right = Node(key=52)
     root.right = right
     root.left = left
     self.assertEqual(fltk(root, 42), right)
     self.assertEqual(fltk(root, 19), root)
     self.assertEqual(fltk(root, 52), None)
 def test_threeelements(self):
     """Tests when there are three elements."""
     root = Node(key=42)
     left = Node(key=0, parent=root)
     right = Node(key=50, parent=root)
     root.left = left
     root.right = right
     self.assertEqual(findsuccessor(left), root)
     self.assertEqual(findsuccessor(root), right)
     self.assertEqual(findsuccessor(right), None)
    def test_textbooktree(self):
        """Tests the tree provided by the textbook."""
        A = Node(key=19)
        B = Node(key=7, parent=A)
        I = Node(key=43, parent=A)
        A.left = B
        A.right = I

        C = Node(key=3, parent=B)
        F = Node(key=11, parent=B)
        B.left = C
        B.right = F

        D = Node(key=2, parent=C)
        E = Node(key=5, parent=C)
        C.left = D
        C.right = E

        G = Node(key=17, parent=F)
        F.right = G

        H = Node(key=13, parent=G)
        G.left = H

        J = Node(23, parent=I)
        O = Node(47, parent=I)
        I.left = J
        I.right = O

        K = Node(key=37, parent=J)
        J.right = K

        L = Node(key=29, parent=K)
        N = Node(key=41, parent=K)
        K.left = L
        K.right = N

        M = Node(key=31, parent=L)
        L.right = M

        P = Node(key=53, parent=O)
        O.right = P

        self.assertEqual(findsuccessor(P), None)
        self.assertEqual(findsuccessor(G), A)
        self.assertEqual(findsuccessor(A), J)
    def test_threeelements_chain(self):
        """Tests three-element tree where root has one child."""
        root = Node(key=42)
        left = Node(key=10)
        right = Node(key=28)
        root.left = left
        left.right = right

        ll = BSTtoLL(root)
        sort, count = issorted(ll)
        self.assertTrue(sort)
        self.assertEqual(count, 3)