Release version for Erange 4.0a
[erange.git] / test / testBedToRegion.py
1 '''
2 Created on Dec 2, 2010
3
4 @author: sau
5 '''
6 import unittest
7 import os
8 from erange import bedtoregion
9
10
11 class TestBedToRegion(unittest.TestCase):
12
13     testBedFile = "erangeTestBedFile"
14     testRegionFile = "erangeTestRegionFile"
15
16
17     def setUp(self):
18         bedfile = open(self.testBedFile, "w")
19         bedfile.write("tab\tdelimited\tfields\n")
20         bedfile.write("space delimited fields\n")
21         bedfile.write("track\n")
22         bedfile.write("line after track will not be processed\n")
23         bedfile.close()
24
25
26     def tearDown(self):
27         try:
28             os.remove(self.testBedFile)
29         except OSError:
30             print "bed file does not exist"
31
32         try:
33             os.remove(self.testRegionFile)
34         except OSError:
35             print "region file does not exist"
36
37
38     def testBedToRegion(self):
39         bedtoregion.bedToRegion("regionLabel", self.testBedFile, self.testRegionFile)
40         resultFile = open(self.testRegionFile)
41         regionList = resultFile.readlines()
42         self.assertEquals(2, len(regionList))
43         self.assertEquals("regionLabel1\ttab\tdelimited\tfields\n", regionList[0])
44         self.assertEquals("regionLabel2\tspace\tdelimited\tfields\n", regionList[1])
45
46
47     def testMain(self):
48         argv = ["bedtoregion"]
49         self.assertRaises(SystemExit, bedtoregion.main, argv)
50         argv = ["bedtoregion", "regionLabel", self.testBedFile, self.testRegionFile]
51         bedtoregion.main(argv)
52         resultFile = open(self.testRegionFile)
53         self.assertEquals(2, len(resultFile.readlines()))
54
55
56 def suite():
57     suite = unittest.TestSuite()
58     suite.addTest(unittest.makeSuite(TestBedToRegion))
59
60     return suite
61
62
63 if __name__ == "__main__":
64     #import sys;sys.argv = ['', 'Test.testName']
65     unittest.main()