'''
Created on Aug 23, 2010

@author: sau
'''
import unittest
from erange import rnaEditing


class TestRnaEditing(unittest.TestCase):


    def setUp(self):
        pass


    def tearDown(self):
        pass


    def testGetGenesWithMultipleSNPs(self):
        snpList = []
        self.assertEquals([], rnaEditing.getGenesWithMultipleSNPs(snpList))

        snpList = [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, "snp1"],
                   [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, "snp2"],
                   [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, "snp3"]
        ]

        result = ["snp3", "snp2", "snp1"]
        self.assertEquals(result, rnaEditing.getGenesWithMultipleSNPs(snpList))
        result = []
        self.assertEquals(result, rnaEditing.getGenesWithMultipleSNPs(snpList, minCount=2))

        snpList.append([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, "snp3"])
        result = ["snp3"]
        self.assertEquals(result, rnaEditing.getGenesWithMultipleSNPs(snpList, minCount=2))


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

    return suite


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