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)
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)
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)
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)
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)