X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=test%2FtestMakeSiteTrack.py;fp=test%2FtestMakeSiteTrack.py;h=7e609e7eca3b9bc93dd48a1f6e07a5c37e62d468;hp=0000000000000000000000000000000000000000;hb=77dccd7c98d8cdb60caaf178b1123df71ea662c9;hpb=bc30aca13e5ec397c92e67002fbf7a103130b828 diff --git a/test/testMakeSiteTrack.py b/test/testMakeSiteTrack.py new file mode 100644 index 0000000..7e609e7 --- /dev/null +++ b/test/testMakeSiteTrack.py @@ -0,0 +1,94 @@ +''' +Created on Dec 2, 2010 + +@author: sau +''' +import unittest +import os +from erange import makesitetrack + + +class TestMakeSiteTrack(unittest.TestCase): + + testInputFile = "erangeTestSiteFile" + testOutputFile = "erangeTestBedFile" + + + def setUp(self): + self.createCompactInputFile() + + + def tearDown(self): + try: + os.remove(self.testInputFile) + except OSError: + print "site file does not exist" + + try: + os.remove(self.testOutputFile) + except OSError: + print "bed file does not exist" + + + def createStandardInputFile(self): + siteFile = open(self.testInputFile, "w") + siteFile.write("#comment line\n") + siteFile.write("name\tchr1\t100\t175\t11\t+\t-\n") + siteFile.close() + + + def createCompactInputFile(self): + siteFile = open(self.testInputFile, "w") + siteFile.write("#comment line\n") + siteFile.write("chr1:100-175\t11\t+\t-\n") + siteFile.close() + + + def testMakeSiteTrack(self): + self.createCompactInputFile() + makesitetrack.makesitetrack(self.testInputFile, self.testOutputFile) + bedfile = open(self.testOutputFile) + header = 'track name="" visibility=4 itemRgb="On"\n' + self.assertEquals(header, bedfile.readline()) + result = "chr1\t100\t176\t-1\t11\t+\t-\t-\t0,0,0\n" + self.assertEquals(result, bedfile.readline()) + + makesitetrack.makesitetrack(self.testInputFile, self.testOutputFile, append=True, noHeader=True) + bedfile = open(self.testOutputFile) + header = bedfile.readline() + firstEntry = bedfile.readline() + self.assertEquals(firstEntry, bedfile.readline()) + + + def testNonCompactMakeSiteTrack(self): + try: + os.remove(self.testInputFile) + except OSError: + print "site file does not exist" + + self.createStandardInputFile() + makesitetrack.makesitetrack(self.testInputFile, self.testOutputFile, compact=False, color="255,255,255") + bedfile = open(self.testOutputFile) + bedfile.readline() + result = "chr1\t100\t176\t-1\t1.0\t+\t-\t-\t255,255,255\n" + self.assertEquals(result, bedfile.readline()) + + + def testMain(self): + self.createCompactInputFile() + argv = ["makesitetrack"] + self.assertRaises(SystemExit, makesitetrack.main, argv) + argv = ["makesitetrack", self.testInputFile, self.testOutputFile] + makesitetrack.main(argv) + + +def suite(): + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(TestMakeSiteTrack)) + + return suite + + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.testName'] + unittest.main() \ No newline at end of file