Release version for Erange 4.0a
[erange.git] / test / testCdfDist.py
1 '''
2 Created on Dec 2, 2010
3
4 @author: sau
5 '''
6 import unittest
7 import os
8 from erange import cdfdist
9
10
11 class TestCdfDist(unittest.TestCase):
12
13     testInputFile = "erangeTestCDFFile"
14
15
16     def setUp(self):
17         cdffile = open(self.testInputFile, "w")
18         cdffile.write("line1 30 60\n")
19         cdffile.write("line2 90 99\n")
20         cdffile.write("line3 5 80\n")
21         cdffile.write("line4 10 14\n")
22         cdffile.close()
23
24
25     def tearDown(self):
26         try:
27             os.remove(self.testInputFile)
28         except OSError:
29             print "cdf file does not exist"
30
31
32     def testBinsToCdf(self):
33         bins = 2
34         self.assertEquals([2, 2], cdfdist.cdfDist(bins, 10, self.testInputFile))
35         self.assertEquals([1, 2], cdfdist.cdfDist(bins, 50, self.testInputFile))
36         self.assertEquals([1, 0], cdfdist.cdfDist(bins, 89, self.testInputFile))
37         self.assertEquals([0, 1], cdfdist.cdfDist(bins, 91, self.testInputFile))
38
39
40     def testMain(self):
41         bins = 2
42         percent = 50
43         argv = ["cdfdist"]
44         self.assertRaises(SystemExit, cdfdist.main, argv)
45         argv = ["cdfdist", bins, percent, self.testInputFile]
46         cdfdist.main(argv)
47
48
49 def suite():
50     suite = unittest.TestSuite()
51     suite.addTest(unittest.makeSuite(TestCdfDist))
52
53     return suite
54
55
56 if __name__ == "__main__":
57     #import sys;sys.argv = ['', 'Test.testName']
58     unittest.main()