@@ -324,34 +324,84 @@ def test_bool(self):
324324 self .assertEqual (self .doc , ydoc )
325325
326326 def test_tuple (self ):
327+ # test single tuple value
327328 val_type = "3-tuple"
328329 val_in = "(1; 1; 1)"
329- val_odml = ["1" , "1" , "1" ]
330+ val_odml = [[ "1" , "1" , "1" ] ]
330331
331332 parent_sec = self .doc .sections [0 ]
332- _ = odml .Property (name = "tuple test single" , dtype = val_type ,
333- value = val_in , parent = parent_sec )
333+ sec_name = parent_sec .name
334+ prop_name = "tuple_test_single"
335+ _ = odml .Property (name = prop_name , dtype = val_type ,
336+ values = val_in , parent = parent_sec )
337+
338+ # Test correct json save and load.
339+ odml .save (self .doc , self .json_file , "JSON" )
340+ jdoc = odml .load (self .json_file , "JSON" )
341+
342+ self .assertEqual (jdoc .sections [sec_name ].properties [prop_name ].dtype , val_type )
343+ self .assertEqual (jdoc .sections [sec_name ].properties [prop_name ].values , val_odml )
344+ self .assertEqual (jdoc .sections [sec_name ].properties [prop_name ].values ,
345+ self .doc .sections [sec_name ].properties [prop_name ].values )
346+ self .assertEqual (self .doc , jdoc )
347+
348+ # Test correct xml save and load.
349+ odml .save (self .doc , self .xml_file )
350+ xdoc = odml .load (self .xml_file )
351+
352+ self .assertEqual (xdoc .sections [sec_name ].properties [prop_name ].dtype , val_type )
353+ self .assertEqual (xdoc .sections [sec_name ].properties [prop_name ].values , val_odml )
354+ self .assertEqual (xdoc .sections [sec_name ].properties [prop_name ].values ,
355+ self .doc .sections [sec_name ].properties [prop_name ].values )
356+ self .assertEqual (self .doc , xdoc )
357+
358+ # Test correct yaml save and load.
359+ odml .save (self .doc , self .yaml_file , "YAML" )
360+ ydoc = odml .load (self .yaml_file , "YAML" )
361+
362+ self .assertEqual (ydoc .sections [sec_name ].properties [prop_name ].dtype , val_type )
363+ self .assertEqual (ydoc .sections [sec_name ].properties [prop_name ].values , val_odml )
364+ self .assertEqual (ydoc .sections [sec_name ].properties [prop_name ].values ,
365+ self .doc .sections [sec_name ].properties [prop_name ].values )
366+ self .assertEqual (self .doc , ydoc )
367+
368+ # test multiple tuple values
369+ val_type = "3-tuple"
370+ val_in = ["(1; 1; 1)" , "(2; 2; 2)" , "(3; 3; 3)" ]
371+ val_odml = [["1" , "1" , "1" ], ["2" , "2" , "2" ], ["3" , "3" , "3" ]]
372+
373+ parent_sec = self .doc .sections [0 ]
374+ sec_name = parent_sec .name
375+ prop_name = "tuple_test_multiple"
376+ _ = odml .Property (name = prop_name , dtype = val_type ,
377+ values = val_in , parent = parent_sec )
334378
335379 # Test correct json save and load.
336380 odml .save (self .doc , self .json_file , "JSON" )
337381 jdoc = odml .load (self .json_file , "JSON" )
338382
339- self .assertEqual (jdoc .sections [0 ].properties [0 ].dtype , val_type )
340- self .assertEqual (jdoc .sections [0 ].properties [0 ].values , [val_odml ])
383+ self .assertEqual (jdoc .sections [sec_name ].properties [prop_name ].dtype , val_type )
384+ self .assertEqual (jdoc .sections [sec_name ].properties [prop_name ].values , val_odml )
385+ self .assertEqual (jdoc .sections [sec_name ].properties [prop_name ].values ,
386+ self .doc .sections [sec_name ].properties [prop_name ].values )
341387 self .assertEqual (self .doc , jdoc )
342388
343389 # Test correct xml save and load.
344390 odml .save (self .doc , self .xml_file )
345391 xdoc = odml .load (self .xml_file )
346392
347- self .assertEqual (xdoc .sections [0 ].properties [0 ].dtype , val_type )
348- self .assertEqual (xdoc .sections [0 ].properties [0 ].values , [val_odml ])
393+ self .assertEqual (xdoc .sections [sec_name ].properties [prop_name ].dtype , val_type )
394+ self .assertEqual (xdoc .sections [sec_name ].properties [prop_name ].values , val_odml )
395+ self .assertEqual (xdoc .sections [sec_name ].properties [prop_name ].values ,
396+ self .doc .sections [sec_name ].properties [prop_name ].values )
349397 self .assertEqual (self .doc , xdoc )
350398
351399 # Test correct yaml save and load.
352400 odml .save (self .doc , self .yaml_file , "YAML" )
353401 ydoc = odml .load (self .yaml_file , "YAML" )
354402
355- self .assertEqual (ydoc .sections [0 ].properties [0 ].dtype , val_type )
356- self .assertEqual (ydoc .sections [0 ].properties [0 ].values , [val_odml ])
403+ self .assertEqual (ydoc .sections [sec_name ].properties [prop_name ].dtype , val_type )
404+ self .assertEqual (ydoc .sections [sec_name ].properties [prop_name ].values , val_odml )
405+ self .assertEqual (ydoc .sections [sec_name ].properties [prop_name ].values ,
406+ self .doc .sections [sec_name ].properties [prop_name ].values )
357407 self .assertEqual (self .doc , ydoc )
0 commit comments