'''
Created on Dec 2, 2010

@author: sau
'''
import unittest
import os
from erange import colsum


class TestColsum(unittest.TestCase):

    testInputFile = "erangeTestColsumFile"


    def setUp(self):
        colfile = open(self.testInputFile, "w")
        colfile.write("line1 30 60.5\n")
        colfile.write("line2 90 99\n")
        colfile.write("line3 5 80\n")
        colfile.write("line4 10 1\n")
        colfile.close()


    def tearDown(self):
        try:
            os.remove(self.testInputFile)
        except OSError:
            print "cdf file does not exist"


    def testBinsToCdf(self):
        self.assertEquals(0, colsum.colsum(0, self.testInputFile))
        self.assertEquals(135, colsum.colsum(1, self.testInputFile))
        self.assertEquals(240.5, colsum.colsum(2, self.testInputFile))
        self.assertEquals(0, colsum.colsum(3, self.testInputFile))


    def testMain(self):
        field = 1
        argv = ["colsum"]
        self.assertRaises(SystemExit, colsum.main, argv)
        argv = ["colsum", field, self.testInputFile]
        colsum.main(argv)


def suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(TestColsum))

    return suite


if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.testName']
    unittest.main()