@@ -23,14 +23,17 @@ def setUp(self):
2323 self .json_file = os .path .join (self .tmp_dir , "test.json" )
2424 self .xml_file = os .path .join (self .tmp_dir , "test.xml" )
2525 self .yaml_file = os .path .join (self .tmp_dir , "test.yaml" )
26+ self .rdf_file = os .path .join (self .tmp_dir , "test.ttl" )
2627
2728 self .xml_reader = odmlparser .ODMLReader (parser = 'XML' )
2829 self .yaml_reader = odmlparser .ODMLReader (parser = 'YAML' )
2930 self .json_reader = odmlparser .ODMLReader (parser = 'JSON' )
31+ self .rdf_reader = odmlparser .ODMLReader (parser = 'RDF' )
3032
3133 self .xml_writer = odmlparser .ODMLWriter (parser = 'XML' )
3234 self .yaml_writer = odmlparser .ODMLWriter (parser = 'YAML' )
3335 self .json_writer = odmlparser .ODMLWriter (parser = 'JSON' )
36+ self .rdf_writer = odmlparser .ODMLWriter (parser = 'RDF' )
3437
3538 self .odml_doc = self .xml_reader .from_file (self .basefile )
3639
@@ -59,3 +62,34 @@ def test_json_yaml_xml(self):
5962 self .assertEqual (xml_doc , self .odml_doc )
6063 self .assertEqual (xml_doc , json_doc )
6164 self .assertEqual (xml_doc , yaml_doc )
65+
66+ def test_xml_file (self ):
67+ self .xml_writer .write_file (self .odml_doc , self .xml_file )
68+ xml_doc = self .xml_reader .from_file (self .xml_file )
69+
70+ self .assertEqual (xml_doc , self .odml_doc )
71+
72+ def test_yaml_file (self ):
73+ self .yaml_writer .write_file (self .odml_doc , self .yaml_file )
74+ yaml_doc = self .yaml_reader .from_file (self .yaml_file )
75+
76+ self .assertEqual (yaml_doc , self .odml_doc )
77+
78+ def test_json_file (self ):
79+ self .json_writer .write_file (self .odml_doc , self .json_file )
80+ json_doc = self .json_reader .from_file (self .json_file )
81+
82+ self .assertEqual (json_doc , self .odml_doc )
83+
84+ def test_rdf_file (self ):
85+ self .rdf_writer .write_file (self .odml_doc , self .rdf_file )
86+ rdf_doc = self .rdf_reader .from_file (self .rdf_file , "turtle" )
87+
88+ # RDF does not preserve the order of sections,
89+ # need to check the attributes by hand.
90+ self .assertEqual (len (rdf_doc ), 1 )
91+ self .assertEqual (rdf_doc [0 ].author , self .odml_doc .author )
92+ self .assertEqual (rdf_doc [0 ].version , self .odml_doc .version )
93+ self .assertEqual (rdf_doc [0 ].date , self .odml_doc .date )
94+ self .assertIn (self .odml_doc .sections [0 ].name , rdf_doc [0 ].sections )
95+ self .assertIn (self .odml_doc .sections [1 ].name , rdf_doc [0 ].sections )
0 commit comments