def test_trial(self):
        """Try trial 50 times to be sure."""
        for trial in range(50):
            self.bst = CountingBinaryTree()
            num = 100
            values = list(range(num))
            random.shuffle(values)
            for _ in values:
                self.bst.add(_)

            for n in inorder(self.bst.root):
                self.assertEqual(n.numLeft, n.countLeftChildren())

            removal = list(values)
            random.shuffle(removal)
            for t in removal:
                self.bst.remove(t)
                self.assertFalse(t in self.bst)
                if self.bst.root:
                    for n in inorder(self.bst.root):
                        self.assertEqual(n.numLeft, n.countLeftChildren())
 def setUp(self):
     self.bst = CountingBinaryTree()