2 Created on Aug 25, 2010
7 from erange import makeSNPtrack
10 class TestMakeSNPTrack(unittest.TestCase):
12 baseColor = {"A": "200, 0, 255",
18 specialColors = {"A-G": "255, 0, 0",
31 def testGetHeader(self):
33 header = "track name=%s description=%s visibility=2 itemRgb=\"On\"\n" % (track, track)
34 self.assertEquals(header, makeSNPtrack.getHeader(track))
37 def testDoNotProcessLine(self):
38 self.assertTrue(makeSNPtrack.doNotProcessLine("#anything"))
39 self.assertFalse(makeSNPtrack.doNotProcessLine("line to process"))
42 def testGetBedOutputLine(self):
49 color = self.baseColor[readName]
50 snpPropertiesList = ["0", "1", chromosome, 11, "4", "5", "6", readName]
51 outline = "%s\t%d\t%d\t%s\t%s\t%s\t-\t-\t\t%s\n" % (chromosome, readStart, readStop, readName, score, sense, color)
52 self.assertEquals(outline, makeSNPtrack.getBedOutputLine(snpPropertiesList))
54 snpPropertiesList = ["0", "1", chromosome, 11, "4", "5", "6"]
55 self.assertRaises(IndexError, makeSNPtrack.getBedOutputLine, snpPropertiesList)
57 snpPropertiesList = []
58 self.assertRaises(IndexError, makeSNPtrack.getBedOutputLine, snpPropertiesList)
60 snpPropertiesList = ["0", "1", chromosome, "some string", "4", "5", "6", readName]
61 self.assertRaises(ValueError, makeSNPtrack.getBedOutputLine, snpPropertiesList)
64 def testGetSNPColor(self):
65 for base in self.baseColor.keys():
66 self.assertEquals(self.baseColor[base], makeSNPtrack.getSNPColor(base))
68 for base in self.specialColors.keys():
69 self.assertEquals(self.specialColors[base], makeSNPtrack.getSNPColor(base))
71 defaultColor = "200, 0, 255"
72 self.assertEquals(defaultColor, makeSNPtrack.getSNPColor(""))
73 self.assertEquals(defaultColor, makeSNPtrack.getSNPColor("V"))
77 suite = unittest.TestSuite()
78 suite.addTest(unittest.makeSuite(TestMakeSNPTrack))
83 if __name__ == "__main__":
84 #import sys;sys.argv = ['', 'Test.testName']