Skip to content

Commit 8fe2d43

Browse files
committed
[test/dtypes] Add multiple tuple integration
1 parent 4af3bc0 commit 8fe2d43

File tree

1 file changed

+59
-9
lines changed

1 file changed

+59
-9
lines changed

test/test_dtypes_integration.py

Lines changed: 59 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)