Release version for Erange 4.0a
[erange.git] / test / testFeatureIntersects.py
1
2 import unittest
3 import os
4 from erange import featureIntersects
5
6
7 class TestFeatureIntersects(unittest.TestCase):
8
9     testInputFile = "erangeTestFeatureIntersects"
10
11
12     def setUp(self):
13         cdffile = open(self.testInputFile, "w")
14         cdffile.write("line1\tchr1\t30\t60\n")
15         cdffile.write("line2\tchr1\t90\t99\n")
16         cdffile.write("line3\tchr1\t5\t80\n")
17         cdffile.write("line4\tchr2\t10\t14\n")
18         cdffile.write("line4\tnot to be processed\n")
19         cdffile.write("line5\tchr2\t10\t14\n")
20         cdffile.close()
21
22
23     def tearDown(self):
24         try:
25             os.remove(self.testInputFile)
26         except OSError:
27             print "position file does not exist"
28
29
30     #TODO: write test
31     def testFeatureIntersects(self):
32         pass
33
34
35     #TODO: write test
36     def testGetPositionList(self):
37         pass
38
39
40     #TODO: write test
41     def testMain(self):
42         argv = ["cdfdist"]
43         self.assertRaises(SystemExit, featureIntersects.main, argv)
44         argv = ["cdfdist", self.testInputFile]
45         featureIntersects.main(argv)
46
47
48     def testMakeParser(self):
49         parser = featureIntersects.makeParser("")
50         argv = []
51         (options, args) = parser.parse_args(argv)
52         self.assertEqual([], args)
53         argv = [self.testInputFile]
54         (options, args) = parser.parse_args(argv)
55         self.assertEqual(self.testInputFile, args[0])
56         self.assertEqual("TFBSCONSSITES", options.cistype)
57         self.assertEqual(100, options.radius)
58         argv = [self.testInputFile, "--cistype", "test", "--radius", "50"]
59         (options, args) = parser.parse_args(argv)
60         self.assertEqual("test", options.cistype)
61         self.assertEqual(50, options.radius)
62
63
64 def suite():
65     suite = unittest.TestSuite()
66     suite.addTest(unittest.makeSuite(TestFeatureIntersects))
67
68     return suite
69
70
71 if __name__ == "__main__":
72     #import sys;sys.argv = ['', 'Test.testName']
73     unittest.main()