@@ -324,34 +324,84 @@ def test_bool(self):
324
324
self .assertEqual (self .doc , ydoc )
325
325
326
326
def test_tuple (self ):
327
+ # test single tuple value
327
328
val_type = "3-tuple"
328
329
val_in = "(1; 1; 1)"
329
- val_odml = ["1" , "1" , "1" ]
330
+ val_odml = [[ "1" , "1" , "1" ] ]
330
331
331
332
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 )
334
378
335
379
# Test correct json save and load.
336
380
odml .save (self .doc , self .json_file , "JSON" )
337
381
jdoc = odml .load (self .json_file , "JSON" )
338
382
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 )
341
387
self .assertEqual (self .doc , jdoc )
342
388
343
389
# Test correct xml save and load.
344
390
odml .save (self .doc , self .xml_file )
345
391
xdoc = odml .load (self .xml_file )
346
392
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 )
349
397
self .assertEqual (self .doc , xdoc )
350
398
351
399
# Test correct yaml save and load.
352
400
odml .save (self .doc , self .yaml_file , "YAML" )
353
401
ydoc = odml .load (self .yaml_file , "YAML" )
354
402
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 )
357
407
self .assertEqual (self .doc , ydoc )
0 commit comments