def test_double_trans_spectra(self): xmlreader = XMLreader(self.isis_1_1_doubletrans, self.schema_1_1) self.assertTrue(xmlreader.validate_xml()) reader = Loader() data = reader.load(self.isis_1_1_doubletrans) for item in data: self._check_data(item)
def test_real_xml(self): reader = XMLreader(self.xml_valid, self.schema_1_0) valid = reader.validate_xml() if valid: self.assertTrue(valid) else: self.assertFalse(valid)
def test_processing_instructions(self): reader = XMLreader(self.isis_1_1, self.schema_1_1) valid = reader.validate_xml() if valid: ## find the processing instructions and make into a dictionary dic = self.get_processing_instructions(reader) self.assertTrue(dic == {'xml-stylesheet': \ 'type="text/xsl" href="cansas1d.xsl" '}) xml = "<test><a><b><c></c></b></a></test>" xmldoc = minidom.parseString(xml) ## take the processing instructions and put them back in xmldoc = self.set_processing_instructions(xmldoc, dic) xml_output = xmldoc.toprettyxml()
def test_old_cansas_files(self): reader1 = XMLreader(self.cansas1d, self.schema_1_0) self.assertTrue(reader1.validate_xml()) file_loader = Loader() file1 = file_loader.load(self.cansas1d) reader2 = XMLreader(self.cansas1d_units, self.schema_1_0) self.assertTrue(reader2.validate_xml()) reader3 = XMLreader(self.cansas1d_badunits, self.schema_1_0) self.assertTrue(reader3.validate_xml()) reader4 = XMLreader(self.cansas1d_slit, self.schema_1_0) self.assertTrue(reader4.validate_xml())
def test_save_cansas_v1_0(self): filename = "isis_1_0_write_test.xml" xmlreader = XMLreader(self.isis_1_0, self.schema_1_0) valid = xmlreader.validate_xml() self.assertTrue(valid) reader_generic = Loader() dataloader = reader_generic.load(self.isis_1_0) reader_cansas = Reader() cansasreader = reader_cansas.read(self.isis_1_0) for i in range(len(dataloader)): self._check_data(dataloader[i]) self._check_data(cansasreader[i]) reader_generic.save(filename, dataloader[i], None) reader2 = Reader() return_data = reader2.read(filename) written_data = return_data[0] xmlwrite = XMLreader(filename, self.schema_1_0) valid = xmlreader.validate_xml() self.assertTrue(valid) self._check_data(written_data)
def test_cansas_xml(self): filename = "isis_1_1_write_test.xml" xmlreader = XMLreader(self.isis_1_1, self.schema_1_1) valid = xmlreader.validate_xml() xmlreader.set_processing_instructions() self.assertTrue(valid) fo = open(self.isis_1_1) str = fo.read() reader_generic = Loader() dataloader = reader_generic.load(self.isis_1_1) reader_cansas = Reader() cansasreader = reader_cansas.read(self.isis_1_1) for i in range(len(dataloader)): self._check_data(dataloader[i]) self._check_data_1_1(dataloader[i]) self._check_data(cansasreader[i]) self._check_data_1_1(cansasreader[i]) reader_generic.save(filename, dataloader[i], None) fo = open(filename) str = fo.read() reader2 = Loader() return_data = reader2.load(filename) written_data = return_data[0] self._check_data(written_data)
def test_load_cansas_file(self): valid = [] reader1 = XMLreader(self.xml_valid, self.schema_1_0) self.assertTrue(reader1.validate_xml()) reader2 = XMLreader(self.xml_invalid, self.schema_1_0) self.assertFalse(reader2.validate_xml()) reader3 = XMLreader(self.xml_valid, self.schema_1_1) self.assertFalse(reader3.validate_xml()) reader4 = XMLreader(self.xml_invalid, self.schema_1_1) self.assertFalse(reader4.validate_xml()) reader5 = XMLreader(self.isis_1_0, self.schema_1_0) self.assertTrue(reader5.validate_xml()) reader6 = XMLreader(self.isis_1_1, self.schema_1_1) self.assertTrue(reader6.validate_xml()) reader7 = XMLreader(self.isis_1_1, self.schema_1_0) self.assertFalse(reader7.validate_xml())
def test_invalid_xml(self): """ Should fail gracefully and send a message to logging.info() """ invalid = StringIO.StringIO('<a><c></b></a>') reader = XMLreader(invalid)