3 from StringIO import StringIO
4 from unittest2 import TestCase
6 from htsworkflow.pipelines import summary
7 from simulate_runfolder import TESTDATA_DIR
9 class SummaryTests(TestCase):
10 """Test elements of the summary file parser
12 def test_is_xml(self):
13 xmlfile = StringIO('<?xml version="1.0"?>\n<tag>\n')
14 htmlfile = StringIO('<html>\n<head></head>\n<body><p></p></body>\n</html>')
16 self.failUnlessEqual(summary.isxml_stream(xmlfile), True)
17 self.failUnlessEqual(xmlfile.tell(), 0)
19 self.failUnlessEqual(summary.isxml_stream(htmlfile), False)
21 def test_xml_summary_file(self):
22 pathname = os.path.join(TESTDATA_DIR, 'Summary-casava1.7.xml')
23 s = summary.SummaryGA(pathname)
24 self.failUnlessEqual(len(s.lane_results[0]), 8)
25 self.failUnlessEqual(s.lane_results[0][1].cluster, (1073893, 146344))
27 def test_html_summary_file(self):
28 pathname = os.path.join(TESTDATA_DIR, 'Summary-ipar130.htm')
29 s = summary.SummaryGA(pathname)
30 self.failUnlessEqual(len(s.lane_results[0]), 8)
31 self.failUnlessEqual(s.lane_results[0][1].cluster, (126910, 4300))
33 def test_hiseq_sample_summary_file(self):
34 pathname = os.path.join(TESTDATA_DIR, 'sample_summary_1_12.htm')
35 s = summary.SummaryGA(pathname)
39 from unittest2 import TestSuite, defaultTestLoader
41 suite.addTests(defaultTestLoader.loadTestsFromTestCase(SummaryTests))
45 if __name__ == "__main__":
46 from unittest2 import main
47 main(defaultTest="suite")