@@ -97,12 +97,13 @@ def testSimple(self):
9797 g1_1_id = db .createGroup ()
9898 db .createHardLink (g1_id , "g1.1" , g1_1_id )
9999 dset_111_id = db .createDataset (shape = (10 , 10 ), dtype = np .int32 )
100- arr = np . zeros (( 10 , 10 ), dtype = np . int32 )
101- for i in range ( 10 ):
102- for j in range ( 10 ):
103- arr [ i , j ] = i * j
100+
101+ # try setting dset values with broadcasting
102+ arr_one_value = np . zeros (( 1 , 1 ), dtype = np . int32 )
103+ arr_one_value [ 0 , 0 ] = 42
104104 sel_all = selections .select ((10 , 10 ), ...)
105- db .setDatasetValues (dset_111_id , sel_all , arr )
105+ db .setDatasetValues (dset_111_id , sel_all , arr_one_value )
106+
106107 db .createHardLink (g1_1_id , "dset1.1.1" , dset_111_id )
107108 db .createSoftLink (g2_id , "slink" , "somewhere" )
108109 db .createExternalLink (g2_id , "extlink" , "somewhere" , "someplace" )
@@ -126,12 +127,29 @@ def testSimple(self):
126127 self .assertEqual (dset .shape , (10 , 10 ))
127128 for i in range (10 ):
128129 for j in range (10 ):
129- self .assertEqual (dset [i , j ], i * j )
130+ self .assertEqual (dset [i , j ], 42 )
130131 self .assertTrue ("g2" in f )
131132 g2 = f ["g2" ]
132133 self .assertTrue ("extlink" in g2 )
133134 self .assertTrue ("slink" in g2 )
134135
136+ # write dataset values element by element
137+ db .open ()
138+ arr = np .zeros ((10 , 10 ), dtype = np .int32 )
139+ for i in range (10 ):
140+ for j in range (10 ):
141+ arr [i , j ] = i * j
142+ sel_all = selections .select ((10 , 10 ), ...)
143+ db .setDatasetValues (dset_111_id , sel_all , arr )
144+ db .close ()
145+
146+ # verify changes in h5py
147+ with h5py .File (filepath ) as f :
148+ dset = f ["/g1/g1.1/dset1.1.1" ]
149+ for i in range (10 ):
150+ for j in range (10 ):
151+ self .assertEqual (dset [i , j ], i * j )
152+
135153 db .open ()
136154 db .createAttribute (g1_id , "a1" , "hello" )
137155 db .createAttribute (g1_id , "a2" , "bye-bye" )
0 commit comments