Пример #1
0
 def test_ds(self):
     """Test low level usage of hdf5 with datasets"""
     self._touch_all_types("datasets")
     num_base_handles=RMF.get_number_of_open_hdf5_handles()
     f= RMF.create_hdf5_file(self.get_tmp_file_name("testd.hdf5"))
     self._show(f)
     print "adding"
     g= f.add_child_group("hi")
     self._show(f)
     ds= f.add_child_float_data_set_3d("x")
     print "name is", ds.get_name()
     self._show(f)
     ds.set_size(I3(1,1,1))
     ds.set_value(I3(0,0,0), 1)
     print ds.get_value(I3(0,0,0))
     self.assertEqual(ds.get_value(I3(0,0,0)), 1)
     ds= f.add_child_string_data_set_3d("str")
     self._show(f)
     ds.set_size(I3(2,1,1))
     ds.set_value([1,0,0],"there")
     print ds.get_value([1,0,0])
     self.assertEqual(ds.get_value(I3(1,0,0)), "there")
     ds= f.add_child_int_data_set_3d("int")
     self._show(f)
     ds.set_size(I3(1,1,1))
     ds.set_value(I3(0,0,0),1)
     print ds.get_value(I3(0,0,0))
     self.assertEqual(ds.get_value(I3(0,0,0)), 1)
     del f
     del g
     del ds
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles)
Пример #2
0
    def test_dsgrow(self):
        """Test low level usage of hdf5 with datasets that grow"""
        self._touch_all_types("growing_datasets")
        num_base_handles=RMF.get_number_of_open_hdf5_handles()
        f= RMF.create_hdf5_file(self.get_tmp_file_name("testdg.hdf5"))
        self._show(f)
        print "adding"
        g= f.add_child_group("hi")
        self._show(f)
        ds= f.add_child_float_data_set_3d("coords")
        print "setting num"
        ds.set_size([1,3,1])
        print "setting values",[0,0,0]
        ds.set_value([0,0,0], 1)
        print "getting", [0,0,0]
        print ds.get_value([0,0,0])
        self.assertEqual(ds.get_value([0,0,0]), 1)
        print "setting",0,2
        ds.set_value([0,2,0], 2)
        print "getting",0,2
        print ds.get_value([0,2,0])
        self.assertEqual(ds.get_value([0,2,0]), 2)
        ds.set_size([4,5,6])
        print "setting",3,4,5
        ds.set_value([3,4,5], 4)
        print "getting",3,4,5
        print ds.get_value([3,4,5])
        self.assertEqual(ds.get_value([3,4,5]), 4)
        print "getting",1,1,1
        print ds.get_value([1,1,1])

        del ds
        del f
        del g
        self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles)
Пример #3
0
 def test_as(self):
     """Test low level usage of hdf5 with attributes"""
     self._touch_all_types("attributes")
     num_base_handles=RMF.get_number_of_open_hdf5_handles()
     f= RMF.create_hdf5_file(self.get_tmp_file_name("testa.hdf5"))
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles+1)
     self._show(f)
     print "adding"
     g= f.add_child_group("hi")
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles+2)
     print "float"
     f.set_float_attribute("at", [2.0])
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles+2)
     print f.get_float_attribute("at")
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles+2)
     self.assertEqual(f.get_float_attribute("at"), [2.0])
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles+2)
     print "string"
     #f.set_string_attribute("str", ["there", "not there"])
     #self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles+2)
     self._show(f)
     #print f.get_string_attribute("str")
     #self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles+2)
     #self.assertEqual(f.get_string_attribute("str"), ["there", "not there"])
     del g
     del f
     print "done"
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles)
Пример #4
0
 def test_dsb(self):
     """Test writing of blocks with data sets"""
     self._touch_all_types("block_datasets")
     num_base_handles=RMF.get_number_of_open_hdf5_handles()
     f= RMF.create_hdf5_file(self.get_tmp_file_name("testdb.hdf5"))
     self._show(f)
     print "adding"
     g= f.add_child_group("hi")
     self._show(f)
     ds= f.add_child_index_data_set_3d("x")
     print "name is", ds.get_name()
     self._show(f)
     ds.set_size(I3(10,10,10))
     ds.set_block(I3(2,3,4), I3(3,4,5), range(0,3*4*5))
     got= ds.get_block(I3(2,3,4), I3(3,4,5))
     self.assertEqual(got, range(0,3*4*5))
     del g
     del f
     del ds
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles)
Пример #5
0
 def test_perturbed(self):
     """Test low level usage of hdf5"""
     self._touch_all_types("pert")
     num_base_handles=RMF.get_number_of_open_hdf5_handles()
     f= RMF.create_hdf5_file(self.get_tmp_file_name("test.hdf5"))
     self._show(f)
     print "adding"
     g= f.add_child_group("hi")
     ff= g.get_file()
     self.assertEqual(ff.get_name(), f.get_name())
     self._show(f)
     del g
     del f
     del ff
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles)
     f= RMF.open_hdf5_file(self.get_tmp_file_name("test.hdf5"))
     print "showing"
     self._show(f)
     del f
     self.assertEqual(RMF.get_number_of_open_hdf5_handles(), num_base_handles)