annotate commons/tools/tests/Test_getCumulLengthFromTEannot.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 import unittest
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2 import os
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 import time
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 from commons.core.sql.DbMySql import DbMySql
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 from commons.tools.getCumulLengthFromTEannot import getCumulLengthFromTEannot
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 from commons.core.utils.FileUtils import FileUtils
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9 class Test_getCumulLengthFromTEannot( unittest.TestCase ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 def setUp( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12 self.fileUtils = FileUtils()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13 self._getCumulLengthFromTEannot = None
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 self._uniqId = "%s_%s" % ( time.strftime("%Y_%m_%d_%H_%M_%S") , os.getpid() )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 self._configFileName = "dummyConfig_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 configFile = open( self._configFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 configFile.write("[repet_env]\n")
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18 configFile.write( "repet_host: %s\n" % ( os.environ["REPET_HOST"] ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 configFile.write( "repet_user: %s\n" % ( os.environ["REPET_USER"] ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20 configFile.write( "repet_pw: %s\n" % ( os.environ["REPET_PW"] ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 configFile.write( "repet_db: %s\n" % ( os.environ["REPET_DB"] ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 configFile.write( "repet_port: %s\n" % ( os.environ["REPET_PORT"] ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 configFile.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 def tearDown( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 os.remove( self._configFileName )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 def test_getAllSubjectsAsMapOfQueries( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 inFileName = "dummyInFile_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 expFileName = "dummyExp_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 for f in [inFileName,expFileName]:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 if os.path.exists(f): os.remove(f)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 inFile = open( inFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 inFile.write( "1\tchr1\t1501\t2500\tTE1\t1\t500\t0.0\t880\t95.7\n" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 inFile.write( "2\tchr1\t3401\t4000\tTE3\t101\t700\t0.0\t950\t97.2\n" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 inFile.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39 inTable = "dummyPathTable_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 db = DbMySql(cfgFileName=self._configFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 db.createTable(inTable, "path", inFileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 expFile = open( expFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 expFile.write( "TE1\tchr1\t1501\t2500\n" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44 expFile.write( "TE3\tchr1\t3401\t4000\n" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 expFile.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 self._getCumulLengthFromTEannot = getCumulLengthFromTEannot()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 self._getCumulLengthFromTEannot._tableName = inTable
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 self._getCumulLengthFromTEannot._configFileName = self._configFileName
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 self._getCumulLengthFromTEannot.setAdaptatorToTable()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 obsFileName = self._getCumulLengthFromTEannot.getAllSubjectsAsMapOfQueries()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 self.assertTrue( self.fileUtils.are2FilesIdentical( obsFileName, expFileName ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 for f in [inFileName,inTable+".map",expFileName]:
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 if os.path.exists(f): os.remove(f)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 db.dropTable(inTable)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 db.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 def test_getCumulLength( self ):
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59 mergeFileName = "dummyInFile_%s" % self._uniqId
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 mergeFile = open( mergeFileName, "w" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 mergeFile.write( "TE1\tchr1\t1501\t2500\n" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 mergeFile.write( "TE3\tchr1\t4000\t3401\n" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 mergeFile.close()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64 exp = 1000+600
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65 self._getCumulLengthFromTEannot = getCumulLengthFromTEannot()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 obs = self._getCumulLengthFromTEannot.getCumulLength( mergeFileName )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 self.assertEqual( obs, exp )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 os.remove( mergeFileName )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70 if __name__ == "__main__":
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71 unittest.main()