def test_ancestors(self): """Check if get_ancestors is OK.""" # The parent child information is already tested so this test # needs to ensure that the method works for a few known # examples. # Simple VTK test. t = self.t n = t.get_node('vtkDataArray') x = vtk.vtkDataArray ancestors = [] while x.__name__ != 'vtkObjectBase': x = x.__bases__[0] ancestors.append(x.__name__) if len(vtk.vtkObjectBase.__bases__) > 0: ancestors.append('object') self.assertEqual([x.name for x in n.get_ancestors()], ancestors) def _get_ancestors(klass): bases = [] for base in klass.__bases__: bases.append(base) bases.extend(_get_ancestors(base)) return bases # Simple __builtin__ test. with self._remove_loader_from_builtin(): t = class_tree.ClassTree(__builtin__) t.create() n = t.get_node('TabError') bases = [x.__name__ for x in _get_ancestors(TabError)] self.assertEqual([x.name for x in n.get_ancestors()], bases)
def test_ancestors(self): """Check if get_ancestors is OK.""" # The parent child information is already tested so this test # needs to ensure that the method works for a few known # examples. # Simple VTK test. t = self.t n = t.get_node('vtkDataArray') x = vtk.vtkDataArray ancestors = [] while x.__name__ != 'vtkObjectBase': x = x.__bases__[0] ancestors.append(x.__name__) self.assertEqual([x.name for x in n.get_ancestors()], ancestors) # Simple __builtin__ test. t = class_tree.ClassTree(__builtin__) t.create() n = t.get_node('TabError') bases = [ 'IndentationError', 'SyntaxError', 'StandardError', 'Exception' ] if len(Exception.__bases__) > 0: bases.extend(['BaseException', 'object']) self.assertEqual([x.name for x in n.get_ancestors()], bases)
def test_builtin(self): """Check if tree structure for __builtin__ works.""" # This tests to see if the tree structure generation works for # the __builtin__ module. t = class_tree.ClassTree(__builtin__) t.create() self.t = t self.test_parent_child() self.test_level() self.test_tree()
def test_builtin(self): """Check if tree structure for builtins works.""" # This tests to see if the tree structure generation works for # the builtins module. with self._remove_loader_from_builtin(): t = class_tree.ClassTree(builtins) t.create() self.t = t self.test_parent_child() self.test_level() self.test_tree()
import sys import unittest from contextlib import contextmanager from tvtk import class_tree import vtk if sys.version_info[0] > 2: import builtins as __builtin__ PY_VER = 3 else: import __builtin__ PY_VER = 2 # This computation can be expensive, so we cache it. _cache = class_tree.ClassTree(vtk) _cache.create() vtk_major_version = vtk.vtkVersion.GetVTKMajorVersion() def get_level(klass): """Gets the inheritance level of a given class.""" if not klass.__bases__: return 0 else: return max([get_level(b) for b in klass.__bases__]) + 1 class TestClassTree(unittest.TestCase): def setUp(self):