Example #1
0
    def testCompoundTypeItem(self):
        dt = np.dtype([("temp", np.float32), ("pressure", np.float32), ("wind", np.int16)])
        typeItem = hdf5dtype.getTypeItem(dt)
        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
        self.assertTrue('fields' in typeItem)
        fields = typeItem['fields']
        self.assertEqual(len(fields), 3)
        tempField = fields[0]
        self.assertEqual(tempField['name'], 'temp')
        self.assertTrue('type' in tempField)
        tempFieldType = tempField['type']
        self.assertEqual(tempFieldType['class'], 'H5T_FLOAT')
        self.assertEqual(tempFieldType['base'], 'H5T_IEEE_F32LE')
        self.assertEqual(typeSize, 10)

        typeItem = hdf5dtype.getTypeResponse(typeItem) # non-verbose format
        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
        self.assertTrue('fields' in typeItem)
        fields = typeItem['fields']
        self.assertEqual(len(fields), 3)
        tempField = fields[0]
        self.assertEqual(tempField['name'], 'temp')
        self.assertTrue('type' in tempField)
        tempFieldType = tempField['type']
        self.assertEqual(tempFieldType['class'], 'H5T_FLOAT')
        self.assertEqual(tempFieldType['base'], 'H5T_IEEE_F32LE')
        self.assertEqual(typeSize, 10)
Example #2
0
    def testCompoundTypeItem(self):
        dt = np.dtype([("temp", np.float32), ("pressure", np.float32), ("wind", np.int16)])
        typeItem = hdf5dtype.getTypeItem(dt)
        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
        self.assertTrue('fields' in typeItem)
        fields = typeItem['fields']
        self.assertEqual(len(fields), 3)
        tempField = fields[0]
        self.assertEqual(tempField['name'], 'temp')
        self.assertTrue('type' in tempField)
        tempFieldType = tempField['type']
        self.assertEqual(tempFieldType['class'], 'H5T_FLOAT')
        self.assertEqual(tempFieldType['base'], 'H5T_IEEE_F32LE')
        self.assertEqual(typeSize, 10)

        typeItem = hdf5dtype.getTypeResponse(typeItem) # non-verbose format
        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
        self.assertTrue('fields' in typeItem)
        fields = typeItem['fields']
        self.assertEqual(len(fields), 3)
        tempField = fields[0]
        self.assertEqual(tempField['name'], 'temp')
        self.assertTrue('type' in tempField)
        tempFieldType = tempField['type']
        self.assertEqual(tempFieldType['class'], 'H5T_FLOAT')
        self.assertEqual(tempFieldType['base'], 'H5T_IEEE_F32LE')
        self.assertEqual(typeSize, 10)
Example #3
0
 def testCreateVLenDataType(self):
     typeItem = {'class': 'H5T_VLEN', 'base': 'H5T_STD_I32BE'}
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'object')
     self.assertEqual(dt.kind, 'O')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
 def testCreateCompoundType(self):
     typeItem = {
         'class':
         'H5T_COMPOUND',
         'fields': [{
             'name': 'temp',
             'type': 'H5T_IEEE_F32LE'
         }, {
             'name': 'pressure',
             'type': 'H5T_IEEE_F32LE'
         }, {
             'name': 'location',
             'type': {
                 'length': 'H5T_VARIABLE',
                 'charSet': 'H5T_CSET_ASCII',
                 'class': 'H5T_STRING',
                 'strPad': 'H5T_STR_NULLTERM'
             }
         }, {
             'name': 'wind',
             'type': 'H5T_STD_I16LE'
         }]
     }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'void144')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(len(dt.fields), 4)
     dtLocation = dt[2]
     self.assertEqual(dtLocation.name, 'object')
     self.assertEqual(dtLocation.kind, 'O')
     self.assertEqual(check_dtype(vlen=dtLocation), bytes)
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #5
0
 def testCreateOpaqueType(self):
     typeItem = {'class': 'H5T_OPAQUE', 'size': 200}
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'void1600')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(typeSize, 200)
    def testCreateEnumType(self):
        typeItem = {
            "class": "H5T_ENUM",
            "base": {
                "base": "H5T_STD_I16LE",
                "class": "H5T_INTEGER"
            },
            "mapping": {
                "GAS": 2,
                "LIQUID": 1,
                "PLASMA": 3,
                "SOLID": 0
            }
        }

        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeSize, 2)
        dt = hdf5dtype.createDataType(typeItem)
        self.assertEqual(dt.name, 'int16')
        self.assertEqual(dt.kind, 'i')
        mapping = check_dtype(enum=dt)
        self.assertTrue(isinstance(mapping, dict))
        self.assertEqual(mapping["SOLID"], 0)
        self.assertEqual(mapping["LIQUID"], 1)
        self.assertEqual(mapping["GAS"], 2)
        self.assertEqual(mapping["PLASMA"], 3)
Example #7
0
 def testCreateCompoundArrayType(self):
     typeItem = {
         "class": "H5T_COMPOUND",
         "fields": [
             {
                 "type": {
                     "base": "H5T_STD_I8LE",
                     "class": "H5T_INTEGER"
                 },
                 "name": "a"
             },
             {
                 "type": {
                     "dims": [
                         10
                     ],
                     "base": {
                         "length": 1,
                         "charSet": "H5T_CSET_ASCII",
                         "class": "H5T_STRING",
                         "strPad": "H5T_STR_NULLPAD"
                     },
                 "class": "H5T_ARRAY"
                 },
             "name": "b"
             }
         ]
     }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)   
     self.assertEqual(len(dt.fields), 2)
     self.assertTrue('a' in dt.fields.keys())
     self.assertTrue('b' in dt.fields.keys())
     self.assertEqual(typeSize, 11)
Example #8
0
 def testCreateOpaqueType(self):
     typeItem = {'class': 'H5T_OPAQUE', 'size': 200}
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'void1600')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(typeSize, 200)
Example #9
0
 def testCreateVLenDataType(self):
     typeItem = {'class': 'H5T_VLEN', 'base': 'H5T_STD_I32BE'}
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'object')
     self.assertEqual(dt.kind, 'O')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
 def testRegionReferenceTypeItem(self):
     dt = special_dtype(ref=RegionReference)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_REFERENCE')
     self.assertEqual(typeItem['base'], 'H5T_STD_REF_DSETREG')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #11
0
 def testCompoundArrayVlenStringTypeItem(self):
     dt_vlen = special_dtype(vlen=six.binary_type)
     dt_arr = np.dtype((dt_vlen, (4,)))
     dt_compound = np.dtype([('VALUE1', np.float64), ('VALUE2', np.int64), ('VALUE3', dt_arr) ])
     typeItem = hdf5dtype.getTypeItem(dt_compound)
     
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
     fields = typeItem['fields']
     field_a = fields[0]
     self.assertEqual(field_a['name'], 'VALUE1')
     field_a_type = field_a['type']
     self.assertEqual(field_a_type['class'], 'H5T_FLOAT')
     self.assertEqual(field_a_type['base'], 'H5T_IEEE_F64LE')
     field_b = fields[1]
     self.assertEqual(field_b['name'], 'VALUE2')
     field_b_type = field_b['type']
     self.assertEqual(field_b_type['class'], 'H5T_INTEGER')
     self.assertEqual(field_b_type['base'], 'H5T_STD_I64LE')
     field_c = fields[2]
     field_c_type = field_c['type']
      
     self.assertEqual(field_c_type['class'], 'H5T_ARRAY')
     self.assertEqual(field_c_type['dims'], (4,))
     field_c_base_type = field_c_type['base']
     self.assertEqual(field_c_base_type['class'], 'H5T_STRING')
     self.assertEqual(field_c_base_type['length'], 'H5T_VARIABLE')
     self.assertEqual(field_c_base_type['charSet'], 'H5T_CSET_ASCII')
Example #12
0
 def testCreateCompoundArrayType(self):
     typeItem = {
         "class": "H5T_COMPOUND",
         "fields": [
             {
                 "type": {
                     "base": "H5T_STD_I8LE",
                     "class": "H5T_INTEGER"
                 },
                 "name": "a"
             },
             {
                 "type": {
                     "dims": [
                         10
                     ],
                     "base": {
                         "length": 1,
                         "charSet": "H5T_CSET_ASCII",
                         "class": "H5T_STRING",
                         "strPad": "H5T_STR_NULLPAD"
                     },
                 "class": "H5T_ARRAY"
                 },
             "name": "b"
             }
         ]
     }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)   
     self.assertEqual(len(dt.fields), 2)
     self.assertTrue('a' in dt.fields.keys())
     self.assertTrue('b' in dt.fields.keys())
     self.assertEqual(typeSize, 11)
Example #13
0
 def testOpaqueTypeItem(self):
     dt = np.dtype('V200')
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_OPAQUE')
     self.assertTrue('base' not in typeItem)
     self.assertEqual(typeSize, 200)
Example #14
0
 def testOpaqueTypeItem(self):
     dt = np.dtype('V200')
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_OPAQUE')
     self.assertTrue('base' not in typeItem)
     self.assertEqual(typeSize, 200)
Example #15
0
 def testCompoundArrayVlenStringTypeItem(self):
     dt_vlen = special_dtype(vlen=six.binary_type)
     dt_arr = np.dtype((dt_vlen, (4,)))
     dt_compound = np.dtype([('VALUE1', np.float64), ('VALUE2', np.int64), ('VALUE3', dt_arr) ])
     typeItem = hdf5dtype.getTypeItem(dt_compound)
     
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
     fields = typeItem['fields']
     field_a = fields[0]
     self.assertEqual(field_a['name'], 'VALUE1')
     field_a_type = field_a['type']
     self.assertEqual(field_a_type['class'], 'H5T_FLOAT')
     self.assertEqual(field_a_type['base'], 'H5T_IEEE_F64LE')
     field_b = fields[1]
     self.assertEqual(field_b['name'], 'VALUE2')
     field_b_type = field_b['type']
     self.assertEqual(field_b_type['class'], 'H5T_INTEGER')
     self.assertEqual(field_b_type['base'], 'H5T_STD_I64LE')
     field_c = fields[2]
     field_c_type = field_c['type']
      
     self.assertEqual(field_c_type['class'], 'H5T_ARRAY')
     self.assertEqual(field_c_type['dims'], (4,))
     field_c_base_type = field_c_type['base']
     self.assertEqual(field_c_base_type['class'], 'H5T_STRING')
     self.assertEqual(field_c_base_type['length'], 'H5T_VARIABLE')
     self.assertEqual(field_c_base_type['charSet'], 'H5T_CSET_ASCII')
Example #16
0
    def testCreateEnumType(self):
        typeItem = {
                "class": "H5T_ENUM",
                "base": {
                    "base": "H5T_STD_I16LE",
                    "class": "H5T_INTEGER"
                }, 
                "mapping": {
                    "GAS": 2,
                    "LIQUID": 1,
                    "PLASMA": 3,
                    "SOLID": 0
                }
            }

        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeSize, 2)
        dt = hdf5dtype.createDataType(typeItem)
        self.assertEqual(dt.name, 'int16')
        self.assertEqual(dt.kind, 'i')    
        mapping = check_dtype(enum=dt)
        self.assertTrue(isinstance(mapping, dict))
        self.assertEqual(mapping["SOLID"], 0)
        self.assertEqual(mapping["LIQUID"], 1)
        self.assertEqual(mapping["GAS"], 2)
        self.assertEqual(mapping["PLASMA"], 3)
Example #17
0
 def testRegionReferenceTypeItem(self):
     dt = special_dtype(ref=RegionReference)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_REFERENCE')
     self.assertEqual(typeItem['base'], 'H5T_STD_REF_DSETREG')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
 def testObjReferenceTypeItem(self):
     #dt = np.dtype('S48', metadata={'ref': val.__class__})
     dt = special_dtype(ref=Reference)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_REFERENCE')
     self.assertEqual(typeItem['base'], 'H5T_STD_REF_OBJ')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #19
0
 def testCreateVLenUTF8Type(self):
     typeItem = { 'class': 'H5T_STRING', 'charSet': 'H5T_CSET_UTF8', 'length': 'H5T_VARIABLE' }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'object')
     self.assertEqual(dt.kind, 'O')
     self.assertEqual(check_dtype(vlen=dt), six.text_type)
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #20
0
 def testCreateVLenUTF8Type(self):
     typeItem = { 'class': 'H5T_STRING', 'charSet': 'H5T_CSET_UTF8', 'length': 'H5T_VARIABLE' }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'object')
     self.assertEqual(dt.kind, 'O')
     self.assertEqual(check_dtype(vlen=dt), six.text_type)
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #21
0
 def testObjReferenceTypeItem(self):
     #dt = np.dtype('S48', metadata={'ref': val.__class__})
     dt = special_dtype(ref=Reference)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_REFERENCE')
     self.assertEqual(typeItem['base'], 'H5T_STD_REF_OBJ')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #22
0
 def testVlenDataItem(self):
     dt = special_dtype(vlen=np.dtype('int32'))
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_VLEN')
     self.assertEqual(typeItem['size'], 'H5T_VARIABLE')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['base'], 'H5T_STD_I32LE')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #23
0
 def testBaseArrayTypeItem(self):
     dt = np.dtype('(2,2)<int32')
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_ARRAY')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['class'], 'H5T_INTEGER')
     self.assertEqual(baseItem['base'], 'H5T_STD_I32LE')
     self.assertEqual(typeSize, 16)
Example #24
0
 def testBaseArrayTypeItem(self):
     dt = np.dtype('(2,2)<int32')
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_ARRAY')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['class'], 'H5T_INTEGER')
     self.assertEqual(baseItem['base'], 'H5T_STD_I32LE')
     self.assertEqual(typeSize, 16)
Example #25
0
 def testCreateArrayType(self):
     typeItem = {'class': 'H5T_ARRAY',
                 'base': 'H5T_STD_I64LE',
                 'dims': (3, 5) }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'void960')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(typeSize, 120)
Example #26
0
 def testBaseVLenUnicodeTypeItem(self):
     dt = special_dtype(vlen=six.text_type)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_STRING')
     self.assertEqual(typeItem['length'], 'H5T_VARIABLE')
     self.assertEqual(typeItem['strPad'], 'H5T_STR_NULLTERM')
     self.assertEqual(typeItem['charSet'], 'H5T_CSET_UTF8')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #27
0
 def testVlenDataItem(self):
     dt = special_dtype(vlen=np.dtype('int32'))
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_VLEN')
     self.assertEqual(typeItem['size'], 'H5T_VARIABLE')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['base'], 'H5T_STD_I32LE')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #28
0
 def testBaseVLenUnicodeTypeItem(self):
     dt = special_dtype(vlen=six.text_type)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_STRING')
     self.assertEqual(typeItem['length'], 'H5T_VARIABLE')
     self.assertEqual(typeItem['strPad'], 'H5T_STR_NULLTERM')
     self.assertEqual(typeItem['charSet'], 'H5T_CSET_UTF8')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #29
0
 def testCreateArrayType(self):
     typeItem = {'class': 'H5T_ARRAY',
                 'base': 'H5T_STD_I64LE',
                 'dims': (3, 5) }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'void960')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(typeSize, 120)
Example #30
0
 def testCreateBaseStringType(self):
     typeItem = { 'class': 'H5T_STRING', 'charSet': 'H5T_CSET_ASCII', 'length': 6 }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     if six.PY3:
         self.assertEqual(dt.name, 'bytes48')
     else:
         self.assertEqual(dt.name, 'string48')
     self.assertEqual(dt.kind, 'S')
     self.assertEqual(typeSize, 6)
Example #31
0
 def testVlenReferenceDataItem(self):
     ref_dt = special_dtype(ref=Reference)
     dt = special_dtype(vlen=ref_dt)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_VLEN')
     self.assertEqual(typeItem['size'], 'H5T_VARIABLE')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['base'], 'H5T_STD_REF_OBJ')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
 def testVlenReferenceDataItem(self):
     ref_dt = special_dtype(ref=Reference)
     dt = special_dtype(vlen=ref_dt)
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_VLEN')
     self.assertEqual(typeItem['size'], 'H5T_VARIABLE')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['base'], 'H5T_STD_REF_OBJ')
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #33
0
 def testCreateBaseStringType(self):
     typeItem = { 'class': 'H5T_STRING', 'charSet': 'H5T_CSET_ASCII', 'length': 6 }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     if six.PY3:
         self.assertEqual(dt.name, 'bytes48')
     else:
         self.assertEqual(dt.name, 'string48')
     self.assertEqual(dt.kind, 'S')
     self.assertEqual(typeSize, 6)
Example #34
0
 def testBaseEnumTypeItem(self):
     mapping = {'RED': 0, 'GREEN': 1, 'BLUE': 2}
     dt = special_dtype(enum=(np.int8, mapping))
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_ENUM')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['class'], 'H5T_INTEGER')
     self.assertEqual(baseItem['base'], 'H5T_STD_I8LE')
     self.assertTrue('mapping' in typeItem)
     self.assertEqual(typeItem['mapping']['GREEN'], 1)
     self.assertEqual(typeSize, 1)
Example #35
0
 def testBaseEnumTypeItem(self):
     mapping = {'RED': 0, 'GREEN': 1, 'BLUE': 2}
     dt = special_dtype(enum=(np.int8, mapping))
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_ENUM')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['class'], 'H5T_INTEGER')
     self.assertEqual(baseItem['base'], 'H5T_STD_I8LE')
     self.assertTrue('mapping' in typeItem)
     self.assertEqual(typeItem['mapping']['GREEN'], 1)
     self.assertEqual(typeSize, 1)
 def testBaseBoolTypeItem(self):
     typeItem = hdf5dtype.getTypeItem(np.dtype('bool'))
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_ENUM')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['class'], 'H5T_INTEGER')
     self.assertEqual(baseItem['base'], 'H5T_STD_I8LE')
     self.assertTrue('mapping' in typeItem)
     mapping = typeItem['mapping']
     self.assertEqual(len(mapping), 2)
     self.assertEqual(mapping['FALSE'], 0)
     self.assertEqual(mapping['TRUE'], 1)
     self.assertEqual(typeSize, 1)
Example #37
0
 def testCreateCompoundTypeUnicodeFields(self):
     typeItem = {
         'class': 'H5T_COMPOUND', 'fields':
             [{'name': u'temp',     'type': 'H5T_IEEE_F32LE'},
              {'name': u'pressure', 'type': 'H5T_IEEE_F32LE'},
              {'name': u'wind',     'type': 'H5T_STD_I16LE'}]
     }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)   
     self.assertEqual(dt.name, 'void80')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(len(dt.fields), 3)
     self.assertEqual(typeSize, 10)
Example #38
0
 def testCreateCompoundTypeUnicodeFields(self):
     typeItem = {
         'class': 'H5T_COMPOUND', 'fields':
             [{'name': u'temp',     'type': 'H5T_IEEE_F32LE'},
              {'name': u'pressure', 'type': 'H5T_IEEE_F32LE'},
              {'name': u'wind',     'type': 'H5T_STD_I16LE'}]
     }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)   
     self.assertEqual(dt.name, 'void80')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(len(dt.fields), 3)
     self.assertEqual(typeSize, 10)
Example #39
0
 def testBaseBoolTypeItem(self):
     typeItem = hdf5dtype.getTypeItem(np.dtype('bool'))
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_ENUM')
     baseItem = typeItem['base']
     self.assertEqual(baseItem['class'], 'H5T_INTEGER')
     self.assertEqual(baseItem['base'], 'H5T_STD_I8LE')
     self.assertTrue('mapping' in typeItem)
     mapping = typeItem['mapping']
     self.assertEqual(len(mapping), 2)
     self.assertEqual(mapping['FALSE'], 0)
     self.assertEqual(mapping['TRUE'], 1)
     self.assertEqual(typeSize, 1)
Example #40
0
    def testCreateBoolType(self):
        typeItem = {
                "class": "H5T_ENUM",
                "base": {
                    "base": "H5T_STD_I8LE",
                    "class": "H5T_INTEGER"
                }, 
                "mapping": {
                    "TRUE": 1,
                    "FALSE": 0
                }
            }

        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeSize, 1)
        dt = hdf5dtype.createDataType(typeItem)
        self.assertEqual(dt.name, 'bool')
        self.assertEqual(dt.kind, 'b')    
    def testCreateBoolType(self):
        typeItem = {
            "class": "H5T_ENUM",
            "base": {
                "base": "H5T_STD_I8LE",
                "class": "H5T_INTEGER"
            },
            "mapping": {
                "TRUE": 1,
                "FALSE": 0
            }
        }

        typeSize = hdf5dtype.getItemSize(typeItem)
        self.assertEqual(typeSize, 1)
        dt = hdf5dtype.createDataType(typeItem)
        self.assertEqual(dt.name, 'bool')
        self.assertEqual(dt.kind, 'b')
Example #42
0
 def testCompoundArrayTypeItem(self):
     dt = np.dtype([('a', '<i1'), ('b', 'S1', (10,))])
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
     fields = typeItem['fields']
     field_a = fields[0]
     self.assertEqual(field_a['name'], 'a')
     field_a_type = field_a['type']
     self.assertEqual(field_a_type['class'], 'H5T_INTEGER')
     self.assertEqual(field_a_type['base'], 'H5T_STD_I8LE')
     field_b = fields[1]
     self.assertEqual(field_b['name'], 'b')
     field_b_type = field_b['type']
     self.assertEqual(field_b_type['class'], 'H5T_ARRAY')
     self.assertEqual(field_b_type['dims'], (10,))
     field_b_basetype = field_b_type['base']
     self.assertEqual(field_b_basetype['class'], 'H5T_STRING')
     self.assertEqual(typeSize, 11)
Example #43
0
 def testCompoundArrayTypeItem(self):
     dt = np.dtype([('a', '<i1'), ('b', 'S1', (10,))])
     typeItem = hdf5dtype.getTypeItem(dt)
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
     fields = typeItem['fields']
     field_a = fields[0]
     self.assertEqual(field_a['name'], 'a')
     field_a_type = field_a['type']
     self.assertEqual(field_a_type['class'], 'H5T_INTEGER')
     self.assertEqual(field_a_type['base'], 'H5T_STD_I8LE')
     field_b = fields[1]
     self.assertEqual(field_b['name'], 'b')
     field_b_type = field_b['type']
     self.assertEqual(field_b_type['class'], 'H5T_ARRAY')
     self.assertEqual(field_b_type['dims'], (10,))
     field_b_basetype = field_b_type['base']
     self.assertEqual(field_b_basetype['class'], 'H5T_STRING')
     self.assertEqual(typeSize, 11)
Example #44
0
 def testCompoundofCompoundTypeItem(self):
     dt1 = np.dtype([("x", np.float32), ("y", np.float32)])
     dt2 = np.dtype([("a", np.float32), ("b", np.float32), ("c", np.float32)])
     dt = np.dtype([("field1", dt1), ("field2", dt2)])
     typeItem = hdf5dtype.getTypeItem(dt)
      
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeSize, 20)
     self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
     self.assertTrue('fields' in typeItem)
     fields = typeItem['fields']
     self.assertEqual(len(fields), 2)
     field1 = fields[0]
      
     self.assertEqual(field1['name'], "field1")
     field1_type = field1['type']
     self.assertEqual(field1_type['class'], 'H5T_COMPOUND')
     field2 = fields[1]
     
     self.assertEqual(field2['name'], "field2")
     field2_type = field2['type']
     self.assertEqual(field2_type['class'], 'H5T_COMPOUND')
Example #45
0
 def testCompoundofCompoundTypeItem(self):
     dt1 = np.dtype([("x", np.float32), ("y", np.float32)])
     dt2 = np.dtype([("a", np.float32), ("b", np.float32), ("c", np.float32)])
     dt = np.dtype([("field1", dt1), ("field2", dt2)])
     typeItem = hdf5dtype.getTypeItem(dt)
      
     typeSize = hdf5dtype.getItemSize(typeItem)
     self.assertEqual(typeSize, 20)
     self.assertEqual(typeItem['class'], 'H5T_COMPOUND')
     self.assertTrue('fields' in typeItem)
     fields = typeItem['fields']
     self.assertEqual(len(fields), 2)
     field1 = fields[0]
      
     self.assertEqual(field1['name'], "field1")
     field1_type = field1['type']
     self.assertEqual(field1_type['class'], 'H5T_COMPOUND')
     field2 = fields[1]
     
     self.assertEqual(field2['name'], "field2")
     field2_type = field2['type']
     self.assertEqual(field2_type['class'], 'H5T_COMPOUND')
Example #46
0
 def testCreateCompoundType(self):
     typeItem = {
         'class': 'H5T_COMPOUND', 'fields':
             [{'name': 'temp',     'type': 'H5T_IEEE_F32LE'},
              {'name': 'pressure', 'type': 'H5T_IEEE_F32LE'},
              {'name': 'location', 'type': {
                  'length': 'H5T_VARIABLE',
                  'charSet': 'H5T_CSET_ASCII',
                  'class': 'H5T_STRING',
                  'strPad': 'H5T_STR_NULLTERM'}},
              {'name': 'wind',     'type': 'H5T_STD_I16LE'}]
     }
     typeSize = hdf5dtype.getItemSize(typeItem)
     dt = hdf5dtype.createDataType(typeItem)
     self.assertEqual(dt.name, 'void144')
     self.assertEqual(dt.kind, 'V')
     self.assertEqual(len(dt.fields), 4)
     dtLocation = dt[2]
     self.assertEqual(dtLocation.name, 'object')
     self.assertEqual(dtLocation.kind, 'O')
     self.assertEqual(check_dtype(vlen=dtLocation), bytes)
     self.assertEqual(typeSize, 'H5T_VARIABLE')
Example #47
0
    def testCreateBaseType(self):
        dt = hdf5dtype.createDataType('H5T_STD_U32BE')
        self.assertEqual(dt.name, 'uint32')
        self.assertEqual(dt.byteorder, '>')
        self.assertEqual(dt.kind, 'u')

        dt = hdf5dtype.createDataType('H5T_STD_I16LE')
        self.assertEqual(dt.name, 'int16')
        self.assertEqual(dt.kind, 'i')

        dt = hdf5dtype.createDataType('H5T_IEEE_F64LE')
        self.assertEqual(dt.name, 'float64')
        self.assertEqual(dt.kind, 'f')

        dt = hdf5dtype.createDataType('H5T_IEEE_F32LE')
        self.assertEqual(dt.name, 'float32')
        self.assertEqual(dt.kind, 'f')

        typeItem = { 'class': 'H5T_INTEGER', 'base': 'H5T_STD_I32BE' }
        typeSize = hdf5dtype.getItemSize(typeItem)
        dt = hdf5dtype.createDataType(typeItem)
        self.assertEqual(dt.name, 'int32')
        self.assertEqual(dt.kind, 'i')
        self.assertEqual(typeSize, 4)
Example #48
0
    def testCreateBaseType(self):
        dt = hdf5dtype.createDataType('H5T_STD_U32BE')
        self.assertEqual(dt.name, 'uint32')
        self.assertEqual(dt.byteorder, '>')
        self.assertEqual(dt.kind, 'u')

        dt = hdf5dtype.createDataType('H5T_STD_I16LE')
        self.assertEqual(dt.name, 'int16')
        self.assertEqual(dt.kind, 'i')

        dt = hdf5dtype.createDataType('H5T_IEEE_F64LE')
        self.assertEqual(dt.name, 'float64')
        self.assertEqual(dt.kind, 'f')

        dt = hdf5dtype.createDataType('H5T_IEEE_F32LE')
        self.assertEqual(dt.name, 'float32')
        self.assertEqual(dt.kind, 'f')

        typeItem = { 'class': 'H5T_INTEGER', 'base': 'H5T_STD_I32BE' }
        typeSize = hdf5dtype.getItemSize(typeItem)
        dt = hdf5dtype.createDataType(typeItem)
        self.assertEqual(dt.name, 'int32')
        self.assertEqual(dt.kind, 'i')
        self.assertEqual(typeSize, 4)