2 from StringIO import StringIO
6 _module_path, _module_name = os.path.split(__file__)
7 sys.path.append(os.path.join(_module_path, '..', 'scripts'))
11 class testSrf2Fastq(unittest.TestCase):
12 def test_split_good(self):
13 source = StringIO("""@header
21 srf2named_fastq.convert_single_to_two_fastq(source, target1, target2)
24 lines1 = target1.readlines()
25 self.failUnlessEqual(len(lines1),4)
26 self.failUnlessEqual(lines1[0].rstrip(), '@header/1')
27 self.failUnlessEqual(lines1[1].rstrip(), 'AGCT')
28 self.failUnlessEqual(lines1[2].rstrip(), '+')
29 self.failUnlessEqual(lines1[3].rstrip(), 'IIII')
32 lines2 = target2.readlines()
33 self.failUnlessEqual(len(lines2),4)
34 self.failUnlessEqual(lines2[0].rstrip(), '@header/2')
35 self.failUnlessEqual(lines2[1].rstrip(), 'TTTT')
36 self.failUnlessEqual(lines2[2].rstrip(), '+')
37 self.failUnlessEqual(lines2[3].rstrip(), 'B+++')
39 def test_split_at_with_header(self):
40 source = StringIO("""@header1
52 srf2named_fastq.convert_single_to_two_fastq(source, target1, target2, header="foo_")
55 lines1 = target1.readlines()
56 self.failUnlessEqual(len(lines1),8)
57 self.failUnlessEqual(lines1[0].rstrip(), '@foo_header1/1')
58 self.failUnlessEqual(lines1[1].rstrip(), 'AGCT')
59 self.failUnlessEqual(lines1[2].rstrip(), '+')
60 self.failUnlessEqual(lines1[3].rstrip(), '@III')
63 lines2 = target2.readlines()
64 self.failUnlessEqual(len(lines2),8)
65 self.failUnlessEqual(lines2[0].rstrip(), '@foo_header1/2')
66 self.failUnlessEqual(lines2[1].rstrip(), 'TTTT')
67 self.failUnlessEqual(lines2[2].rstrip(), '+')
68 self.failUnlessEqual(lines2[3].rstrip(), 'B+++')
70 def test_single_at(self):
71 source = StringIO("""@header1
82 srf2named_fastq.convert_single_to_fastq(source, target1)
85 lines1 = target1.readlines()
86 self.failUnlessEqual(len(lines1),8)
87 self.failUnlessEqual(lines1[0].rstrip(), '@header1')
88 self.failUnlessEqual(lines1[1].rstrip(), 'AGCTTTTT')
89 self.failUnlessEqual(lines1[2].rstrip(), '+')
90 self.failUnlessEqual(lines1[3].rstrip(), '@IIIB+++')
92 def test_single_at_with_header(self):
93 source = StringIO("""@header1
104 srf2named_fastq.convert_single_to_fastq(source, target1, header="foo_")
107 lines1 = target1.readlines()
108 self.failUnlessEqual(len(lines1),8)
109 self.failUnlessEqual(lines1[0].rstrip(), '@foo_header1')
110 self.failUnlessEqual(lines1[1].rstrip(), 'AGCTTTTT')
111 self.failUnlessEqual(lines1[2].rstrip(), '+')
112 self.failUnlessEqual(lines1[3].rstrip(), '@IIIB+++')
116 return unittest.makeSuite(testSrf2Fastq,'test')
118 if __name__ == "__main__":
119 unittest.main(defaultTest="suite")