Change unittest2 back into unittest.
[htsworkflow.git] / htsworkflow / util / test / test_makebed.py
1 import os
2 from StringIO import StringIO
3 from unittest import TestCase
4
5 from htsworkflow.util import makebed
6
7 class testMakeBed(TestCase):
8     def test_multi_1_0_0_limit_1(self):
9       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:112:383    TCAAATCTTATGCTANGAATCNCAAATTTTCT 1:0:0   mm9_chr13_random.fa:1240R0')
10       out = StringIO()
11
12       out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'description', 'mm9_chr', 1))
13       self.failUnlessEqual(out[1], 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
14
15     def test_multi_1_0_0_limit_255(self):
16       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:112:383    TCAAATCTTATGCTANGAATCNCAAATTTTCT 1:0:0   mm9_chr13_random.fa:1240R0')
17       out = StringIO()
18
19       out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 255))
20       self.failUnlessEqual(out[1], 'mm9_chr13_random 1240 1272 read 0 - - - 255,255,0\n')
21
22
23     def test_multi_2_0_0_limit_1(self):
24       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:104:586    GTTCTCGCATAAACTNACTCTNAATAGATTCA 2:0:0   mm9_chr4.fa:42995432F0,mm9_chrX.fa:101541458F0')
25       out = StringIO()
26
27       out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 1))
28       self.failUnlessEqual(len(out), 1)
29
30     def test_multi_2_0_0_limit_255(self):
31       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:104:586    GTTCTCGCATAAACTNACTCTNAATAGATTCA 2:0:0   mm9_chr4.fa:42995432F0,mm9_chrX.fa:101541458F0')
32       out = StringIO()
33
34       out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 255))
35       self.failUnlessEqual(len(out), 3)
36       self.failUnlessEqual(out[1], 
37         'mm9_chr4 42995432 42995464 read 0 + - - 0,0,255\n')
38       self.failUnlessEqual(out[2], 
39         'mm9_chrX 101541458 101541490 read 0 + - - 0,0,255\n')
40
41     def test_multi_0_2_0_limit_1(self):
42       instream = StringIO('>HWI-EAS229_26_209LVAAXX:7:3:115:495    TCTCCCTGAAAAATANAAGTGNTGTTGGTGAG        0:2:1   mm9_chr14.fa:104434729F2,mm9_chr16.fa:63263818R1,mm9_chr2.fa:52265438R1')
43       out = StringIO()
44
45       out = list(makebed.make_bed_from_multi_eland_generator(instream, 'name', 'desc', 'mm9_chr', 1))
46       self.failUnlessEqual(len(out), 1)
47
48
49 def suite():
50     from unittest import TestSuite, defaultTestLoader
51     suite = TestSuite()
52     suite.addTests(defaultTestLoader.loadTestsFromTestCase(testMakeBed))
53     return suite
54
55
56 if __name__ == "__main__":
57     from unittest import main
58     main(defaultTest="suite")