@@ -214,8 +214,12 @@ def create_file(self, getter):
214214 get_type , getter_style = self ._parse_getter (getter )
215215 main , other = {
216216 'traj' : (self .traj , self .other_traj ),
217- 'sset' : (self .sample_set , self .other_sample_set )
217+ 'sset' : (self .sample_set , self .other_sample_set ),
218+ 'samp' : (self .sample_set [0 ], self .other_sample_set [0 ]),
218219 }[get_type ]
220+ if get_type == 'samp' :
221+ storage .save (main )
222+ storage .save (other )
219223 if get_type == 'sset' :
220224 storage .save (self .sample_set )
221225 storage .save (self .other_sample_set )
@@ -231,20 +235,23 @@ def create_file(self, getter):
231235
232236 if other_tag :
233237 storage .tags [other_tag ] = other
238+
234239 storage .close ()
235240 return filename
236241
237242 @pytest .mark .parametrize ("getter" , [
238243 'name-traj' , 'number-traj' , 'tag-final-traj' , 'tag-initial-traj' ,
239- 'name-sset' , 'number-sset' , 'tag-final-sset' , 'tag-initial-sset'
244+ 'name-sset' , 'number-sset' , 'tag-final-sset' , 'tag-initial-sset' ,
245+ 'name-samp' , 'number-samp' ,
240246 ])
241247 def test_get (self , getter ):
242248 filename = self .create_file (getter )
243249 storage = paths .Storage (filename , mode = 'r' )
244250 get_type , getter_style = self ._parse_getter (getter )
245251 expected = {
246252 'sset' : [s .trajectory for s in self .sample_set ],
247- 'traj' : [self .traj ]
253+ 'traj' : [self .traj ],
254+ 'samp' : [self .sample_set [0 ].trajectory ],
248255 }[get_type ]
249256 get_arg = {
250257 'name' : 'traj' ,
@@ -303,6 +310,18 @@ def test_cannot_guess(self):
303310 with pytest .raises (RuntimeError ):
304311 self .PARAMETER .get (storage , None )
305312
313+ def test_get_bad_name (self ):
314+ filename = self ._filename ("bad_tag" )
315+ storage = paths .Storage (filename , 'w' )
316+ storage .save (self .traj )
317+ storage .save (self .other_traj )
318+ storage .tags ['bad_tag' ] = "foo"
319+ storage .close ()
320+
321+ storage = paths .Storage (filename , 'r' )
322+ with pytest .raises (RuntimeError , match = "initial conditions type" ):
323+ self .PARAMETER .get (storage , "bad_tag" )
324+
306325
307326class TestINIT_SNAP (ParamInstanceTest ):
308327 PARAMETER = INIT_SNAP
0 commit comments