Exemple #1
0
    def test_name_of_sub_elements(self):
        r = ModelNode(self.h5, '/', '', load(SimpleContainer))
        self.assertEqual(r.attrs_name, [])
        self.assertEqual(r.children_name, [])
        self.assertEqual(len(r), 0)

        self.assertEqual(r.model.attrs_name, ['c', 'b', 'f', 'i', 's'])
        self.assertEqual(r.model.children_name, [])
        self.assertEqual(r.model.consts, [])

        #
        #
        #
        r = ModelNode(self.h5, '/', '', load(ConstContainer))
        self.assertEqual(r.model.consts, [('c', (0.1 + 0.1j)), ('b', True),
                                          ('f', 1.0), ('i', 1),
                                          ('s', 'string')])
        self.assertEqual(r.model.children_name, [])
        self.assertEqual(r.model.attrs_name, [])

        self.assertEqual(r.children_name, [])
        self.assertEqual(r.attrs_name, [])
        self.assertEqual(len(r), 0)

        r = ModelNode(self.h5, '/', '', load(ComplexContainer))
        self.assertEqual(r.model.attrs_name, [])
        self.assertEqual(
            r.model.children_name,
            ['list_indexed', 'list_of', 'table_t', 'subContainer', 'array'])
        self.assertEqual(r.model.consts, [('const', 'MODEL')])

        self.assertEqual(r.attrs_name, [])
        self.assertEqual(r.children_name, [])
        self.assertEqual(len(r), 0)
 def test_node_type(self):
     """Test the hdf node type (group, data-set or table)
     """
     node = load(SimpleContainer)
     self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)
     
     node = load(ConstContainer)
     self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)
     
     node = load(ComplexContainer)
     self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)
     
     child = node.get_child('array')
     self.assertEqual(child.mtype, minspect.Array_Inspector.MTYPE)
     
     child = node.get_child('subContainer')
     self.assertEqual(child.mtype, minspect.InstanceOf_Inspector.MTYPE)
     
     child = node.get_child('list_of')
     self.assertEqual(child.mtype, minspect.ListOf_Inspector.MTYPE)
     
     child = node.get_child('list_indexed')
     self.assertEqual(child.mtype, minspect.IListOf_Inspector.MTYPE)
     
     child = node.get_child('table_t')
     self.assertEqual(child.mtype, minspect.TableTupled_Inspector.MTYPE)
     
     node = load(EnumContainer)
     self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)
     
     child = node.get_child('value')
     self.assertEqual(child.mtype, minspect.SubClassOf_Inspector.MTYPE)
Exemple #3
0
    def test_node_type(self):
        """Test the hdf node type (group, data-set or table)
        """
        node = load(SimpleContainer)
        self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)

        node = load(ConstContainer)
        self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)

        node = load(ComplexContainer)
        self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)

        child = node.get_child('array')
        self.assertEqual(child.mtype, minspect.Array_Inspector.MTYPE)

        child = node.get_child('subContainer')
        self.assertEqual(child.mtype, minspect.InstanceOf_Inspector.MTYPE)

        child = node.get_child('list_of')
        self.assertEqual(child.mtype, minspect.ListOf_Inspector.MTYPE)

        child = node.get_child('list_indexed')
        self.assertEqual(child.mtype, minspect.IListOf_Inspector.MTYPE)

        child = node.get_child('table_t')
        self.assertEqual(child.mtype, minspect.TableTupled_Inspector.MTYPE)

        node = load(EnumContainer)
        self.assertEqual(node.mtype, minspect.InstanceOf_Inspector.MTYPE)

        child = node.get_child('value')
        self.assertEqual(child.mtype, minspect.SubClassOf_Inspector.MTYPE)
Exemple #4
0
    def test_can_set_const_data(self):

        r = ModelNode(self.h5, '/', '', load(ConstContainer))
        self.assertFalse(r.can_set_attr('c', 1))
        self.assertFalse(r.can_set_attr('r', '2'))
        self.assertFalse(r.can_set_attr('i', 0.2))
        self.assertTrue(r.can_set_attr('i', 1))
 def test_simple_const_container(self):
     """Test simple constant container class model.
     """
     node = load(ConstContainer)
     self.assertEqual(node.attrs_name, [])
     self.assertEqual(node.consts_name, ['c', 'b', 'f', 'i', 's'])
     self.assertEqual(node.children_name, [])
Exemple #6
0
 def test_simple_const_container(self):
     """Test simple constant container class model.
     """
     node = load(ConstContainer)
     self.assertEqual(node.attrs_name, [])
     self.assertEqual(node.consts_name, ['c', 'b', 'f', 'i', 's'])
     self.assertEqual(node.children_name, [])
 def test_can_set_const_data(self):
     
     r = ModelNode(self.h5, '/', '', load(ConstContainer))
     self.assertFalse(r.can_set_attr('c', 1))
     self.assertFalse(r.can_set_attr('r', '2'))
     self.assertFalse(r.can_set_attr('i', 0.2))
     self.assertTrue(r.can_set_attr('i', 1))
Exemple #8
0
    def test_type_attr(self):
        node = load(SimpleContainer)

        self.assertEqual(node.get_attr_type('i'), int)
        self.assertEqual(node.get_attr_type('f'), float)
        self.assertEqual(node.get_attr_type('b'), bool)
        self.assertEqual(node.get_attr_type('c'), complex)
        self.assertEqual(node.get_attr_type('s'), str)
 def test_type_attr(self):
     node = load(SimpleContainer)
     
     self.assertEqual(node.get_attr_type('i'), int)
     self.assertEqual(node.get_attr_type('f'), float)
     self.assertEqual(node.get_attr_type('b'), bool)
     self.assertEqual(node.get_attr_type('c'), complex)
     self.assertEqual(node.get_attr_type('s'), str)
 def test_get_model(self):
     r = ModelNode(self.h5, '/', '', load(ComplexContainer))
     
     m = r.get_model('list_of')
     self.assertEqual(m.xpath, '/complexContainer/list_of')
     
     r._create_group('list_of')
     c = r.get_child('list_of')
     self.assertEqual(c.model.xpath, '/complexContainer/list_of')
Exemple #11
0
    def test_get_model(self):
        r = ModelNode(self.h5, '/', '', load(ComplexContainer))

        m = r.get_model('list_of')
        self.assertEqual(m.xpath, '/complexContainer/list_of')

        r._create_group('list_of')
        c = r.get_child('list_of')
        self.assertEqual(c.model.xpath, '/complexContainer/list_of')
 def test_to_string_line(self):
     node = load(SimpleContainer)
     self.assertEqual(node._DrawingTree__tostring_line(),
                      'simpleContainer(@c, @b, @f, @i, @s)/')
     
     node = load(ConstContainer)
     self.assertEqual(node._DrawingTree__tostring_line(),
                      'constContainer(#c=(0.1+0.1j), #b=True, #f=1.0, #i=1, #s=string)/')
     
     node = load(ComplexContainer)
     child = node.get_child('array')
     self.assertEqual(child._DrawingTree__tostring_line(), 'array{}')
     
     child = node.get_child('table_t')
     self.assertEqual(child._DrawingTree__tostring_line(), 'table_t[]')
     
     node = load(EnumContainer)
     child = node.get_child('value')
     self.assertEqual(child._DrawingTree__tostring_line(), 'value(@c)/')
Exemple #13
0
    def test_to_string_line(self):
        node = load(SimpleContainer)
        self.assertEqual(node._DrawingTree__tostring_line(),
                         'simpleContainer(@c, @b, @f, @i, @s)/')

        node = load(ConstContainer)
        self.assertEqual(
            node._DrawingTree__tostring_line(),
            'constContainer(#c=(0.1+0.1j), #b=True, #f=1.0, #i=1, #s=string)/')

        node = load(ComplexContainer)
        child = node.get_child('array')
        self.assertEqual(child._DrawingTree__tostring_line(), 'array{}')

        child = node.get_child('table_t')
        self.assertEqual(child._DrawingTree__tostring_line(), 'table_t[]')

        node = load(EnumContainer)
        child = node.get_child('value')
        self.assertEqual(child._DrawingTree__tostring_line(), 'value(@c)/')
Exemple #14
0
    def test_can_set_data(self):
        """Test can set data
        
        Don't test the value just attribute's name 
        """
        r = ModelNode(self.h5, '/', '', load(SimpleContainer))

        self.assertTrue(r.can_set_attr('c', 1))
        self.assertTrue(r.can_set_attr('i', 0.2))

        self.assertFalse(r.can_set_attr('r', '2'))
 def test_can_set_data(self):
     """Test can set data
     
     Don't test the value just attribute's name 
     """
     r = ModelNode(self.h5, '/', '', load(SimpleContainer))
     
     self.assertTrue(r.can_set_attr('c', 1))
     self.assertTrue(r.can_set_attr('i', 0.2))
     
     self.assertFalse(r.can_set_attr('r', '2'))
Exemple #16
0
    def test_int(self):
        m = load(SimpleContainer)

        self.assertTrue(m.is_legale_value('i', int()))
        self.assertTrue(m.is_legale_value('i', bool()))

        self.assertTrue(m.is_legale_value('i', numpy.int()))
        self.assertTrue(m.is_legale_value('i', numpy.int32()))

        self.assertFalse(m.is_legale_value('i', float()))
        self.assertFalse(m.is_legale_value('i', str()))
        self.assertFalse(m.is_legale_value('i', complex()))
 def test_children_container(self):
     """Test the capacity of model to contain children.
     """
     node = load(ComplexContainer)
     self.assertEqual(node.attrs_name, [])
     self.assertEqual(node.consts_name, ['const'])
     self.assertEqual(node.children_name,
                      ['list_indexed', 'list_of', 'table_t',
                       'subContainer', 'array'])
     
     list_of = node.get_child('list_of')
     self.assertEqual(list_of.children_name, ['$user_name'])
Exemple #18
0
    def test_children_container(self):
        """Test the capacity of model to contain children.
        """
        node = load(ComplexContainer)
        self.assertEqual(node.attrs_name, [])
        self.assertEqual(node.consts_name, ['const'])
        self.assertEqual(
            node.children_name,
            ['list_indexed', 'list_of', 'table_t', 'subContainer', 'array'])

        list_of = node.get_child('list_of')
        self.assertEqual(list_of.children_name, ['$user_name'])
Exemple #19
0
    def test_to_string(self):
        node = load(ComplexContainer)

        self.assertEqual(
            node.tostring(), """complexContainer(#const=MODEL)/
|-- list_indexed/
|   `*- aA(@c)/
|       |?- aAA(#c=a)/
|       `?- aAB(#c=b)/
|-- list_of/
|   `*- $user_name(#c=(0.1+0.1j), #b=True, #f=1.0, #i=1, #s=string)/
|-- table_t[]
|-- subContainer(@c, @b, @f, @i, @s)/
`-- array{}""")

        node = load(EnumContainer)
        self.assertEqual(
            node.tostring(), """enumContainer/
`-- value(@c)/
    |?- aAA(#c=a)/
    `?- aAB(#c=b)/""")
Exemple #20
0
    def test_has_already(self):
        r = ModelNode(self.h5, '/', '', load(SimpleContainer))

        r.hdfo._f_setAttr('i', 1)
        r.hdfo._f_setAttr('a', 'a')

        self.assertTrue(r.has_already_attr('i'))
        self.assertTrue(r.has_already_attr('i', testalsomodel=False))

        self.assertFalse(r.has_already_attr('a'))
        self.assertTrue(r.has_already_attr('a', testalsomodel=False))

        r = ModelNode(self.h5, '/', '', load(ComplexContainer))
        r._create_group('list_of')

        self.assertTrue(r.has_already_child('list_of'))
        self.assertTrue(r.has_already_child('list_of', testalsomodel=False))
        self.assertEqual(len(r), 1)

        self.assertFalse(r.has_already_child('a'))
        self.assertFalse(r.has_already_child('a', testalsomodel=False))
    def test_to_string(self):
        node = load(ComplexContainer)
        
        self.assertEqual(node.tostring(),
"""complexContainer(#const=MODEL)/
|-- list_indexed/
|   `*- aA(@c)/
|       |?- aAA(#c=a)/
|       `?- aAB(#c=b)/
|-- list_of/
|   `*- $user_name(#c=(0.1+0.1j), #b=True, #f=1.0, #i=1, #s=string)/
|-- table_t[]
|-- subContainer(@c, @b, @f, @i, @s)/
`-- array{}""")
    
        node = load(EnumContainer)
        self.assertEqual(node.tostring(),
"""enumContainer/
`-- value(@c)/
    |?- aAA(#c=a)/
    `?- aAB(#c=b)/""")
 def test_int(self):
     m = load(SimpleContainer)
     
     self.assertTrue(m.is_legale_value('i', int()))
     self.assertTrue(m.is_legale_value('i', bool()))
     
     self.assertTrue(m.is_legale_value('i', numpy.int()))
     self.assertTrue(m.is_legale_value('i', numpy.int32()))
             
     self.assertFalse(m.is_legale_value('i', float()))
     self.assertFalse(m.is_legale_value('i', str()))
     self.assertFalse(m.is_legale_value('i', complex()))
 def test_has_already(self):
     r = ModelNode(self.h5, '/', '', load(SimpleContainer))
     
     r.hdfo._f_setAttr('i', 1)
     r.hdfo._f_setAttr('a', 'a')
     
     self.assertTrue(r.has_already_attr('i'))
     self.assertTrue(r.has_already_attr('i', testalsomodel=False))
     
     self.assertFalse(r.has_already_attr('a'))
     self.assertTrue(r.has_already_attr('a', testalsomodel=False))
     
     r = ModelNode(self.h5, '/', '', load(ComplexContainer))
     r._create_group('list_of')
     
     self.assertTrue(r.has_already_child('list_of'))
     self.assertTrue(r.has_already_child('list_of', testalsomodel=False))
     self.assertEqual(len(r), 1)
     
     self.assertFalse(r.has_already_child('a'))
     self.assertFalse(r.has_already_child('a', testalsomodel=False))
 def test_name_of_sub_elements(self):
     r = ModelNode(self.h5, '/', '', load(SimpleContainer))
     self.assertEqual(r.attrs_name, [])
     self.assertEqual(r.children_name, [])
     self.assertEqual(len(r), 0)
     
     self.assertEqual(r.model.attrs_name, ['c', 'b', 'f', 'i', 's'])
     self.assertEqual(r.model.children_name, [])
     self.assertEqual(r.model.consts, [])
     
     #
     #
     #
     r = ModelNode(self.h5, '/', '', load(ConstContainer))
     self.assertEqual(r.model.consts, [('c', (0.1 + 0.1j)),
                                       ('b', True),
                                       ('f', 1.0),
                                       ('i', 1),
                                       ('s', 'string')])
     self.assertEqual(r.model.children_name, [])
     self.assertEqual(r.model.attrs_name, [])
     
     self.assertEqual(r.children_name, [])
     self.assertEqual(r.attrs_name, [])
     self.assertEqual(len(r), 0)
     
     
     r = ModelNode(self.h5, '/', '', load(ComplexContainer))
     self.assertEqual(r.model.attrs_name, [])
     self.assertEqual(r.model.children_name, ['list_indexed',
                                              'list_of',
                                              'table_t',
                                              'subContainer',
                                              'array'])
     self.assertEqual(r.model.consts, [('const', 'MODEL')])
     
     self.assertEqual(r.attrs_name, [])
     self.assertEqual(r.children_name, [])
     self.assertEqual(len(r), 0)
Exemple #25
0
    def test_get_set_child(self):
        r = ModelNode(self.h5, '/', '', load(ComplexContainer))

        self.assertRaises(ModelNodeError, r.set_child, 'trucc')
        self.assertRaises(HDFNodeError, r.get_child, 'subContainer(tt=2)')

        self.assertRaises(HDFNodeError, r.get_child, 'subContainer')

        child = r.set_child('subContainer')
        self.assertEqual(child.name, 'subContainer')
        self.assertEqual(child.path, '/subContainer')
        self.assertTrue(isinstance(child, ModelNode))

        self.assertEqual(r._create_group('a'), None)
        self.assertRaises(ModelNodeError, r.set_child, 'a')
Exemple #26
0
    def test_get_set_data(self):
        r = ModelNode(self.h5, '/', '', load(SimpleContainer))

        # get/set attr (data) on model
        self.assertFalse(r.has_already_attr('i'))
        r.set_attr('i', 1)
        self.assertEqual(r.attrs_name, ['i'])
        self.assertEqual(r.get_attr('i'), 1)
        self.assertTrue(r.has_already_attr('i'))

        # get/set attr (data) over the model
        self.assertRaises(ModelNodeError, r.set_attr, 'tt', 3)
        super(ModelNode, r).set_attr('tt', 3)
        self.assertTrue(r.has_already_attr('tt', testalsomodel=False))
        self.assertRaises(ModelNodeError, r.get_attr, 'tt')
        self.assertEqual(super(ModelNode, r).get_attr('tt'), 3)
 def test_get_set_child(self):
     r = ModelNode(self.h5, '/', '', load(ComplexContainer))
     
     self.assertRaises(ModelNodeError, r.set_child, 'trucc')
     self.assertRaises(HDFNodeError, r.get_child, 'subContainer(tt=2)')
     
     
     self.assertRaises(HDFNodeError, r.get_child, 'subContainer')
     
     child = r.set_child('subContainer')
     self.assertEqual(child.name, 'subContainer')
     self.assertEqual(child.path, '/subContainer')
     self.assertTrue(isinstance(child, ModelNode))
     
     self.assertEqual(r._create_group('a'), None)
     self.assertRaises(ModelNodeError, r.set_child, 'a')
 def test_get_set_data(self):
     r = ModelNode(self.h5, '/', '', load(SimpleContainer))
     
     # get/set attr (data) on model
     self.assertFalse(r.has_already_attr('i'))
     r.set_attr('i', 1)
     self.assertEqual(r.attrs_name, ['i'])
     self.assertEqual(r.get_attr('i'), 1)
     self.assertTrue(r.has_already_attr('i'))
     
     # get/set attr (data) over the model
     self.assertRaises(ModelNodeError, r.set_attr, 'tt', 3)
     super(ModelNode, r).set_attr('tt', 3)
     self.assertTrue(r.has_already_attr('tt', testalsomodel=False))
     self.assertRaises(ModelNodeError, r.get_attr, 'tt')
     self.assertEqual(super(ModelNode, r).get_attr('tt'), 3)
 def test_children_list_of(self):
     r = ModelNode(self.h5, '/', '', load(ComplexContainer))
     
     r._create_group('list_of')
     list_of = r.get_child('list_of')
     print list_of, list_of.model, list_of.model.children_name
Exemple #30
0
 def test_can_create_child(self):
     r = ModelNode(self.h5, '/', '', load(ComplexContainer))
     self.assertTrue(r.can_create_child('list_of'))
     self.assertFalse(r.can_create_child('a'))
Exemple #31
0
    def test_children_list_of(self):
        r = ModelNode(self.h5, '/', '', load(ComplexContainer))

        r._create_group('list_of')
        list_of = r.get_child('list_of')
        print list_of, list_of.model, list_of.model.children_name
 def test_can_create_child(self):
     r = ModelNode(self.h5, '/', '', load(ComplexContainer))
     self.assertTrue(r.can_create_child('list_of'))
     self.assertFalse(r.can_create_child('a'))