2 Created on Aug 26, 2010
7 from Erange import getSNPGeneInfo
10 class TestGetSNPGeneInfo(unittest.TestCase):
17 self.withSense = False
24 def testDoNotProcessLine(self):
25 self.assertTrue(getSNPGeneInfo.doNotProcessLine("#anything"))
26 self.assertFalse(getSNPGeneInfo.doNotProcessLine("line to process"))
29 def testGetSNPGeneInfoList(self):
30 geneInfoList = getSNPGeneInfo.getSNPGeneInfoList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense)
31 self.assertEquals([], geneInfoList)
33 badGeneDict = {"badEntry": "foo"}
34 self.assertRaises(ValueError, getSNPGeneInfo.getSNPGeneInfoList, badGeneDict, self.snpDict, self.rpkmDict, self.withSense)
36 self.geneDict[("gene1", "ID1")] = {"position": [("1", 1)], "sense": "+"}
37 self.assertRaises(KeyError, getSNPGeneInfo.getSNPGeneInfoList, self.geneDict, self.snpDict, self.rpkmDict, self.withSense)
39 self.snpDict[("1", 1)] = "chr1\tpos 1\n"
40 result = [{"symbol": "gene1",
43 "snpDescription": "chr1\tpos 1" }
45 self.assertEquals(result, getSNPGeneInfo.getSNPGeneInfoList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
47 self.rpkmDict["ID1"] = 300
48 result = [{"symbol": "gene1",
51 "snpDescription": "chr1\tpos 1" }
53 self.assertEquals(result, getSNPGeneInfo.getSNPGeneInfoList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
55 self.geneDict[("gene1", "ID1")] = {"position": [("1", 1), ("1", 1)], "sense": "+"}
56 self.assertEquals(result, getSNPGeneInfo.getSNPGeneInfoList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
58 result = [{"symbol": "gene1",
62 "snpDescription": "chr1\tpos 1" }
64 self.assertEquals(result, getSNPGeneInfo.getSNPGeneInfoList(self.geneDict, self.snpDict, self.rpkmDict, True))
66 self.geneDict[("gene1", "ID1")] = {"position": [("1", 1), ("1", 10)], "sense": "+"}
67 self.snpDict[("1", 10)] = "chr1\tpos 10\n"
68 result = [{"symbol": "gene1",
71 "snpDescription": "chr1\tpos 10" },
75 "snpDescription": "chr1\tpos 1" }
77 self.assertEquals(result, getSNPGeneInfo.getSNPGeneInfoList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
81 def testGetSNPGeneInfo(self):
85 def testGetSNPGeneOutputList(self):
86 geneOutputList = getSNPGeneInfo.getSNPGeneOutputList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense)
87 self.assertEquals([], geneOutputList)
89 badGeneDict = {"badEntry": "foo"}
90 self.assertRaises(ValueError, getSNPGeneInfo.getSNPGeneOutputList, badGeneDict, self.snpDict, self.rpkmDict, self.withSense)
92 self.geneDict[("gene1", "ID1")] = {"position": [("1", 1)], "sense": "+"}
93 self.assertRaises(KeyError, getSNPGeneInfo.getSNPGeneOutputList, self.geneDict, self.snpDict, self.rpkmDict, self.withSense)
95 self.snpDict[("1", 1)] = "chr1\tpos 1\n"
96 result = ["chr1\tpos 1\tgene1\tID1\tN\\A"]
97 self.assertEquals(result, getSNPGeneInfo.getSNPGeneOutputList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
99 self.rpkmDict["ID1"] = 300
100 result = ["chr1\tpos 1\tgene1\tID1\t300"]
101 self.assertEquals(result, getSNPGeneInfo.getSNPGeneOutputList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
103 self.geneDict[("gene1", "ID1")] = {"position": [("1", 1), ("1", 1)], "sense": "+"}
104 self.assertEquals(result, getSNPGeneInfo.getSNPGeneOutputList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
106 result = ["chr1\tpos 1\tgene1\tID1\t300\t+"]
107 self.assertEquals(result, getSNPGeneInfo.getSNPGeneOutputList(self.geneDict, self.snpDict, self.rpkmDict, True))
109 self.geneDict[("gene1", "ID1")] = {"position": [("1", 1), ("1", 10)], "sense": "+"}
110 self.snpDict[("1", 10)] = "chr1\tpos 10\n"
111 result = ["chr1\tpos 10\tgene1\tID1\t300",
112 "chr1\tpos 1\tgene1\tID1\t300"
114 self.assertEquals(result, getSNPGeneInfo.getSNPGeneOutputList(self.geneDict, self.snpDict, self.rpkmDict, self.withSense))
118 def testWriteSNPGeneInfo(self):
123 suite = unittest.TestSuite()
124 suite.addTest(unittest.makeSuite(TestGetSNPGeneInfo))
129 if __name__ == "__main__":
130 #import sys;sys.argv = ['', 'Test.testName']