def test_namedtuple(self): NMTuple = namedtuple('NMTuple', ['aa', 'bb']) obj = NMTuple(18, 'shels') builder = TreeBuilder() node = builder.node('', obj) self.assertEqual(len(node.children), 0) self.assertTrue(len(node.value) > 0)
def test_truncation(self): xx = [1, 2, 3, 4, 5] yy = [1, 2] option = Options(max_elements_to_show_in_list=3) builder = TreeBuilder(option) self.assertEqual(len(builder.node('', xx).children), 3) self.assertEqual(len(builder.node('', yy).children), 2)
def test_truncation(self): xx = {'a': 'a', 'b': 'b', 'c': 'c', 'd': 'd'} yy = {'a': 'a'} option = Options(max_elements_to_show_in_dict=3) builder = TreeBuilder(option) self.assertEqual(len(builder.node('', xx).children), 3) self.assertEqual(len(builder.node('', yy).children), 1)
def test_regular_class(self): obj = RegularClass() node = TreeBuilder().node('obj', obj) self.assertEqual(len(node.children), 1) obj = obj.add_fields() node2 = TreeBuilder().node('obj', obj) self.assertEqual(len(node2.children), 2)
def dump_tree_to_file(obj, outfile, name='object', options: Options = Options()): pwd = os.path.dirname(os.path.abspath(__file__)) template_file = os.path.join(pwd, 'template.html') tree_builder = TreeBuilder(options) node = tree_builder.node(name, obj) with open(template_file, 'r') as tf: html = Template(tf.read()).render(name=name, node=node) with open(outfile, 'w') as outf: outf.write(html)
def test_flexible_type(self): dt = numpy.dtype([('name', numpy.unicode_, 16), ('grades', numpy.float64, (2, ))]) x = numpy.array([('Sarah', (8.0, 7.0)), ('John', (6.0, 7.0))], dtype=dt) node = TreeBuilder().node('', x) self.assertEqual(len(node.children), 2)
def test_class_without_dict(self): obj = (4, 8) self.assertFalse(hasattr(obj, '__dict__')) node = TreeBuilder().node('dummy', obj) self.assertEqual(len(node.children), 0)
def check_node(self, obj): builder = TreeBuilder() node = builder.node('', obj) self.assertIsNotNone(node) print(node)
def test_empty(self): builder = TreeBuilder() self.assertIsNotNone(builder.node('', [])) self.assertIsNotNone(builder.node('', [[[]]])) self.assertIsNotNone(builder.node('', [[]])) self.assertIsNotNone(builder.node('', [[], []]))
def test_nested(self): builder = TreeBuilder() nd = builder.node('', [[1, 2], [3, 4, 5]]) self.assertEqual(len(nd.children), 2)
def test_2d_array(self): builder = TreeBuilder(Options(max_elements_to_show_in_list=3)) obj = numpy.array([range(1, 10), range(1, 10)]) node = builder.node('', obj) self.assertEqual(len(node.children), 2) self.assertEqual(len(node.children[0].children), 3)
def check_node(self, x): node = TreeBuilder().node('var', x) self.assertEqual(node.short_type, x.__class__.__name__) self.assertEqual(len(node.children), 0) self.assertEqual(node.value, str(x)) print(node)
def test_simple_tuple(self): obj = (1, 2, 3, 4) builder = TreeBuilder() node = builder.node('', obj) self.assertEqual(len(node.children), 0) self.assertTrue(len(node.value) > 0)
def test_empty(self): builder = TreeBuilder() self.assertIsNotNone(builder.node('', {})) self.assertIsNotNone(builder.node('', {'a': {}}))
def test_nested(self): builder = TreeBuilder() nd = builder.node('', {'a': {'b': 'b'}}) print(nd) self.assertEqual(len(nd.children), 1) self.assertEqual(len(nd.children[0].children), 1)