@@ -16,21 +16,22 @@ class TestVersionConverterIntegration(unittest.TestCase):
1616 def setUp (self ):
1717 # Set up test environment
1818 dir_path = os .path .dirname (os .path .realpath (__file__ ))
19+
1920 self .xmlfile = os .path .join (dir_path , "resources" , "version_conversion_int.xml" )
21+ self .yamlfile = os .path .join (dir_path , "resources" , "version_conversion_int.yaml" )
2022
2123 self .tmp_dir = tempfile .mkdtemp (suffix = ".odml" )
24+ self .outfile = os .path .join (self .tmp_dir , "version_conversion.xml" )
2225
2326 def tearDown (self ):
2427 if os .path .exists (self .tmp_dir ):
2528 shutil .rmtree (self .tmp_dir )
2629
2730 def test_convert_xml (self ):
28- outfile = os .path .join (self .tmp_dir , "version_conversion.xml" )
29-
30- VC (self .xmlfile ).write_to_file (outfile )
31- self .assertTrue (os .path .exists (outfile ))
31+ VC (self .xmlfile ).write_to_file (self .outfile )
32+ self .assertTrue (os .path .exists (self .outfile ))
3233
33- doc = load (outfile )
34+ doc = load (self . outfile )
3435
3536 repo = "http://portal.g-node.org/odml/terminologies/v1.1/terminologies.xml"
3637 self .assertEqual (doc .repository , repo )
@@ -61,3 +62,43 @@ def test_convert_xml(self):
6162
6263 prop = sec .properties ["prop_three" ]
6364 self .assertEqual (len (prop .value ), 0 )
65+
66+ def test_convert_yaml (self ):
67+ with self .assertRaises (Exception ):
68+ VC (self .yamlfile ).write_to_file (self .outfile )
69+
70+ VC (self .yamlfile ).write_to_file (self .outfile , "YAML" )
71+ self .assertTrue (os .path .exists (self .outfile ))
72+
73+ doc = load (self .outfile )
74+
75+ # Test document attribute export
76+ self .assertEqual (doc .author , "author" )
77+ self .assertEqual (doc .version , "v1.13" )
78+ repo = "http://portal.g-node.org/odml/terminologies/v1.1/terminologies.xml"
79+ self .assertEqual (doc .repository , repo )
80+ self .assertEqual (len (doc .sections ), 3 )
81+
82+ sec = doc .sections ["sec_one" ]
83+ self .assertEqual (sec .definition , "def s1" )
84+ self .assertEqual (sec .reference , "ref s1" )
85+ self .assertEqual (sec .type , "mainsec" )
86+ self .assertEqual (len (sec .sections ), 1 )
87+ self .assertEqual (len (sec .properties ), 3 )
88+
89+ prop = sec .properties ["prop_one" ]
90+ self .assertEqual (prop .definition , "def prop1" )
91+ self .assertEqual (prop .dependency , "dep p1" )
92+ self .assertEqual (prop .dependency_value , "dep val p1" )
93+ self .assertEqual (prop .reference , "ref val 1" )
94+ self .assertEqual (prop .uncertainty , "11" )
95+ self .assertEqual (prop .unit , "arbitrary" )
96+ self .assertEqual (prop .value_origin , "filename val 1" )
97+ self .assertEqual (prop .dtype , "string" )
98+ self .assertEqual (len (prop .value ), 3 )
99+
100+ prop = sec .properties ["prop_two" ]
101+ self .assertEqual (len (prop .value ), 8 )
102+
103+ prop = sec .properties ["prop_three" ]
104+ self .assertEqual (len (prop .value ), 0 )
0 commit comments