Change unittest2 back into unittest.
[htsworkflow.git] / htsworkflow / pipelines / test / test_summary.py
1 #!/usr/bin/env python
2 import os
3 from StringIO import StringIO
4 from unittest import TestCase
5
6 from htsworkflow.pipelines import summary
7 from simulate_runfolder import TESTDATA_DIR
8
9 class SummaryTests(TestCase):
10     """Test elements of the summary file parser
11     """
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>')
15
16         self.failUnlessEqual(summary.isxml_stream(xmlfile), True)
17         self.failUnlessEqual(xmlfile.tell(), 0)
18
19         self.failUnlessEqual(summary.isxml_stream(htmlfile), False)
20
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))
26
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))
32
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)
36
37
38 def suite():
39     from unittest import TestSuite, defaultTestLoader
40     suite = TestSuite()
41     suite.addTests(defaultTestLoader.loadTestsFromTestCase(SummaryTests))
42     return suite
43
44
45 if __name__ == "__main__":
46     from unittest import main
47     main(defaultTest="suite")