Example #1
0
 def test_exampleCode(self):
   try:
     f = StringIO()
     with redirect_stdout(f):
       Tree._exampleCode()
     self.assertTrue(os.path.isfile('save.pkl'))
     self.assertIn('tree==tree2 False', f.getvalue(), 'Example didn' 't run to end')
   finally:
     if os.path.isfile('save.pkl'):
       os.remove('save.pkl')
Example #2
0
 def test_exampleCode(self):
     try:
         f = StringIO()
         with redirect_stdout(f):
             Tree._exampleCode()
         self.assertTrue(os.path.isfile('save.pkl'))
         self.assertIn('tree==tree2 False', f.getvalue(), 'Example didn'
                       't run to end')
     finally:
         if os.path.isfile('save.pkl'):
             os.remove('save.pkl')
Example #3
0
 def test5Equals(self):
   " testing tree equals "
   nTree = Tree.TreeNode(None,'root')
   self._readyTree()
   tTree = self.baseTree
   self.baseTree = nTree
   self._readyTree()
   assert tTree == self.baseTree,'Equality test 1 failed. (bad Tree.__cmp__)'
   assert self.baseTree==tTree,'Equality test 2 failed. (bad Tree.__cmp__)'
   tTree.AddChild('child2')
   assert tTree != self.baseTree,'Inequality test 1 failed. (bad Tree.__cmp__)'
   assert self.baseTree != tTree,'Inequality test 2 failed. (bad Tree.__cmp__)'    
Example #4
0
    def test_Tree(self):
        tree = Tree.TreeNode(None, 'root', label=0)
        self.assertEqual(tree.GetLevel(), 0)
        self.assertEqual(tree.GetName(), 'root')
        self.assertEqual(tree.GetData(), None)
        self.assertEqual(tree.GetTerminal(), False)
        self.assertEqual(tree.GetLabel(), 0)
        self.assertEqual(tree.GetParent(), None)
        self.assertEqual(tree.GetChildren(), [])

        for i in range(3):
            child = tree.AddChild('child {0}'.format(i),
                                  i + 1,
                                  data={'key': 'value'})
            self.assertEqual(child.GetLevel(), 1)
            self.assertEqual(child.GetName(), 'child {0}'.format(i))
            self.assertEqual(child.GetData(), {'key': 'value'})
            self.assertEqual(child.GetLabel(), i + 1)
            self.assertEqual(child.GetParent(), tree)
            self.assertEqual(child.GetChildren(), [])
        children = tree.GetChildren()
        self.assertEqual(len(children), 3)
        children[0].AddChild('terminal', 4, isTerminal=True)

        s = str(tree)
        self.assertIn('root', s)
        self.assertIn('    terminal', s)
        self.assertIn('  child 2', s)

        tree.NameTree(['a', 'b', 'c', 'd', 'e'])
        self.assertEqual(str(tree), 'a\n  b\n    terminal\n  c\n  d\n')

        tree.PruneChild(children[1])
        self.assertEqual(str(tree), 'a\n  b\n    terminal\n  d\n')

        f = StringIO()
        with redirect_stdout(f):
            tree.Print(showData=True)
        s = f.getvalue()
        self.assertIn('value', s)
        self.assertIn('None', s)

        f = StringIO()
        with redirect_stdout(f):
            tree.Print()
        s = f.getvalue()
        self.assertNotIn('value', s)
        self.assertNotIn('None', s)

        tree.Destroy()
        self.assertEqual(str(tree), 'a\n')
Example #5
0
    def test5Equals(self):
        # " testing tree equals "
        nTree = Tree.TreeNode(None, 'root')
        self._readyTree()
        tTree = self.baseTree
        self.baseTree = nTree
        self._readyTree()
        assert tTree == self.baseTree, 'Equality test 1 failed. (bad Tree.__cmp__)'
        assert self.baseTree == tTree, 'Equality test 2 failed. (bad Tree.__cmp__)'
        tTree.AddChild('child2')
        assert tTree != self.baseTree, 'Inequality test 1 failed. (bad Tree.__cmp__)'
        assert self.baseTree != tTree, 'Inequality test 2 failed. (bad Tree.__cmp__)'

        self.assertTrue(tTree > self.baseTree, msg='Larger tree is greater')
        self.assertEqual(tTree.__cmp__(self.baseTree), 1)
Example #6
0
 def setUp(self):
     self.baseTree = Tree.TreeNode(None, 'root')
     self.pickleFileName = RDConfig.RDCodeDir + '/ML/DecTree/test_data/treeunit.pkl'
Example #7
0
 def setUp(self):
   print('\n%s: '%self.shortDescription(),end='')
   self.baseTree = Tree.TreeNode(None,'root')    
   self.pickleFileName = RDConfig.RDCodeDir+'/ML/DecTree/test_data/treeunit.pkl'