Mercurial > repos > yufei-luo > s_mart
diff commons/core/checker/test/Test_CheckerUtils.py @ 31:0ab839023fe4
Uploaded
author | m-zytnicki |
---|---|
date | Tue, 30 Apr 2013 14:33:21 -0400 |
parents | 769e306b7933 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commons/core/checker/test/Test_CheckerUtils.py Tue Apr 30 14:33:21 2013 -0400 @@ -0,0 +1,535 @@ +# Copyright INRA (Institut National de la Recherche Agronomique) +# http://www.inra.fr +# http://urgi.versailles.inra.fr +# +# This software is governed by the CeCILL license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL +# license as circulated by CEA, CNRS and INRIA at the following URL +# "http://www.cecill.info". +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# In this respect, the user's attention is drawn to the risks associated +# with loading, using, modifying and/or developing or reproducing the +# software by the user in light of its specific status of free software, +# that may mean that it is complicated to manipulate, and that also +# therefore means that it is reserved for developers and experienced +# professionals having in-depth computer knowledge. Users are therefore +# encouraged to load and test the software's suitability as regards their +# requirements in conditions enabling the security of their systems and/or +# data to be ensured and, more generally, to use and operate it in the +# same conditions as regards security. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL license and that you accept its terms. + + +import unittest +import os +import ConfigParser +from commons.core.checker.CheckerUtils import CheckerUtils +from commons.core.checker.CheckerException import CheckerException +from ConfigParser import NoOptionError +from ConfigParser import NoSectionError + +class Test_CheckerUtils( unittest.TestCase ): + + def setUp(self): + self.queueFileName = "queueName.txt" + self.configFileName = "dummyConfig.cfg" + + def tearDown(self): + if os.path.exists(self.queueFileName): + os.remove(self.queueFileName) + if os.path.exists(self.configFileName): + os.remove(self.configFileName) + + def test_isBlastNameInBlastValues( self ): + correctValueList = [ "blastn", "blastp", "blastx", "tblastn", "tblastx" ] + for value in correctValueList: + self.assertFalse( CheckerUtils.isBlastNameNotInBlastValues( value ) ) + + incorrectValueList = [ "badbalst", "wublast" ] + for value in incorrectValueList: + self.assertTrue( CheckerUtils.isBlastNameNotInBlastValues( value ) ) + + def test_isNotTRUEisNotFALSE( self ): + correctValueList = [ "TRUE", "FALSE" ] + for value in correctValueList: + self.assertFalse( CheckerUtils.isNotTRUEisNotFALSE( value ) ) + + incorrectValueList = [ "True", "False" ] + for value in incorrectValueList: + self.assertTrue( CheckerUtils.isNotTRUEisNotFALSE( value ) ) + + def test_isRessourceNotExists( self ): + fileName = "dummyFile.txt" + self.assertTrue( CheckerUtils.isRessourceNotExits( fileName ) ) + os.system( "touch %s" % ( fileName ) ) + self.assertFalse( CheckerUtils.isRessourceNotExits( fileName ) ) + os.remove( fileName ) + + def test_isNotAeValueWithOneDigit2DecimalsAtLeast( self ): + correctEValueList = [ "5e-32", "7e-45", "1e-2122", "9e-32" ] + for value in correctEValueList: + self.assertFalse( CheckerUtils.isNotAeValueWithOneDigit2DecimalsAtLeast( value ) ) + + incorrecEValueStr = [ "10e-32", "2e-3", "2e-2", "1", "cxhhe" ] + for value in incorrecEValueStr: + self.assertTrue( CheckerUtils.isNotAeValueWithOneDigit2DecimalsAtLeast( value ) ) + + def test_isNotADigit( self ): + correctDigitList = [ "1", "21", "345" ] + for value in correctDigitList: + self.assertFalse( CheckerUtils.isNotANumber( value ) ) + + incorrectDigitList = [ "A", "dfdf", "((((" ] + for value in incorrectDigitList: + self.assertTrue( CheckerUtils.isNotANumber( value ) ) + + def test_isExecutableInUserPath( self ): + exeName = "ls" + self.assertTrue( CheckerUtils.isExecutableInUserPath( exeName ) ) + + exeName = "hsvegdtefaobfbcheta" + self.assertFalse( CheckerUtils.isExecutableInUserPath( exeName ) ) + + def test_isExecutableInUserPath_case_endsWith( self ): + exeName = "s" + self.assertFalse( CheckerUtils.isExecutableInUserPath( exeName ) ) + + def test_isQueueNameValid_valid(self): + cmd = "qconf -sql > " + self.queueFileName + os.system(cmd) + f = open(self.queueFileName, "r") + lQueueNames = f.readlines() + f.close() + if lQueueNames == []: + print "Warning you need SGE installed\n" + else: + self.assertTrue(CheckerUtils.isQueueNameValid(lQueueNames[0].strip())) + + def test_isQueueNameValid_not_valid(self): + cmd = "qconf -sql > " + self.queueFileName + os.system(cmd) + f = open(self.queueFileName, "r") + lQueueNames = f.readlines() + f.close() + if lQueueNames == []: + print "Warning you need SGE installed\n" + else: + self.assertFalse(CheckerUtils.isQueueNameValid("dummyQueueName")) + + def test_isQueueNameValid_valid_with_parameter(self): + cmd = "qconf -sql > " + self.queueFileName + os.system(cmd) + f = open(self.queueFileName, "r") + lQueueNames = f.readlines() + f.close() + if lQueueNames == []: + print "Warning you need SGE installed\n" + else: + queueNameWithParameter = lQueueNames[0].strip() + " test=TRUE" + self.assertTrue(CheckerUtils.isQueueNameValid(queueNameWithParameter)) + + def test_isCharAlphanumOrUnderscore_valid(self): + project_name = "Project_Name" + self.assertTrue(CheckerUtils.isCharAlphanumOrUnderscore(project_name)) + + def test_isCharAlphanumOrUnderscore_not_valid(self): + project_name = "Project_Name," + self.assertFalse(CheckerUtils.isCharAlphanumOrUnderscore(project_name)) + + def test_isMax15Char_valid(self): + project_name = "Project_Name" + self.assertTrue(CheckerUtils.isMax15Char(project_name)) + + def test_isMax15Char_not_valid(self): + project_name = "Project_Name_tooLong" + self.assertFalse(CheckerUtils.isMax15Char(project_name)) + + def test_checkSectionInConfigFile_empty_section(self): + sectionName = "sectionName" + line = "[" + sectionName + "]" + configFile = open(self.configFileName, "w") + configFile.write(line) + configFile.close() + configFile = open(self.configFileName, "r") + + config = ConfigParser.ConfigParser() + config.readfp(configFile) + + isSectionExceptionRaised = False + try: + CheckerUtils.checkSectionInConfigFile(config, sectionName) + except NoSectionError: + isSectionExceptionRaised = True + configFile.close() + self.assertFalse(isSectionExceptionRaised) + + def test_checkSectionInConfigFile(self): + sectionName = "sectionName" + lines = "[" + sectionName + "]\ndummyOption : dummyOption\n" + configFile = open(self.configFileName, "w") + configFile.write(lines) + configFile.close() + configFile = open(self.configFileName, "r") + + config = ConfigParser.ConfigParser() + config.readfp(configFile) + + isSectionExceptionRaised = False + try: + CheckerUtils.checkSectionInConfigFile(config, sectionName) + except NoSectionError: + isSectionExceptionRaised = True + configFile.close() + self.assertFalse(isSectionExceptionRaised) + + def test_checkSectionInConfigFile_not_valid(self): + sectionName = "sectionName" + line = " " + configFile = open(self.configFileName, "w") + configFile.write(line) + configFile.close() + configFile = open(self.configFileName, "r") + + config = ConfigParser.ConfigParser() + config.readfp(configFile) + + isSectionExceptionRaised = False + try: + CheckerUtils.checkSectionInConfigFile(config, sectionName) + except NoSectionError: + isSectionExceptionRaised = True + configFile.close() + self.assertTrue(isSectionExceptionRaised) + + def test_checkOptionInSectionInConfigFile(self): + optionName = "optionName" + sectionName = "sectionName" + configFile = open(self.configFileName, "w") + configFile.write("[" + sectionName + "]\n") + configFile.write(optionName + ": ") + configFile.close() + configFile = open(self.configFileName, "r") + + config = ConfigParser.ConfigParser() + config.readfp(configFile) + + isSectionExceptionRaised = False + try: + CheckerUtils.checkOptionInSectionInConfigFile(config, sectionName, optionName) + except NoOptionError: + isSectionExceptionRaised = True + configFile.close() + self.assertFalse(isSectionExceptionRaised) + + def test_checkOptionInSectionInConfigFile_not_present(self): + optionName = " " + sectionName = "sectionName" + configFile = open(self.configFileName, "w") + configFile.write("[" + sectionName + "]\n") + configFile.write(optionName) + configFile.close() + configFile = open(self.configFileName, "r") + + config = ConfigParser.ConfigParser() + config.readfp(configFile) + + isSectionExceptionRaised = False + try: + CheckerUtils.checkOptionInSectionInConfigFile(config, sectionName, optionName) + except NoOptionError: + isSectionExceptionRaised = True + configFile.close() + self.assertTrue(isSectionExceptionRaised) + + def test_checkOptionInSectionInConfigFile_not_in_the_right_section(self): + optionName = "optionName" + rightSection = "dummySection2" + configFile = open(self.configFileName, "w") + configFile.write("[dummySection1]\n") + configFile.write(optionName + ": \n") + configFile.write("[" + rightSection + "]") + configFile.close() + configFile = open(self.configFileName, "r") + + config = ConfigParser.ConfigParser() + config.readfp(configFile) + + isSectionExceptionRaised = False + try: + CheckerUtils.checkOptionInSectionInConfigFile(config, rightSection, optionName) + except NoOptionError: + isSectionExceptionRaised = True + configFile.close() + self.assertTrue(isSectionExceptionRaised) + + def test_checkConfigVersion_different_version_between_changeLog_and_configFile(self): + changeLogFileName = "dummyCHANGELOG" + + self._writeChangeLogFile(changeLogFileName) + self._writeConfigFile("repet_version: 1.3.5\n") + + changeLogFileHandler = open(changeLogFileName, "r") + configFileHandler = open(self.configFileName, "r") + config = ConfigParser.ConfigParser() + config.readfp(configFileHandler) + + self.assertRaises(CheckerException, CheckerUtils.checkConfigVersion, changeLogFileHandler, config) + + changeLogFileHandler.close() + configFileHandler.close() + os.remove(changeLogFileName) + + def test_checkConfigVersion_same_version_between_changeLog_and_configFile(self): + changeLogFileName = "dummyCHANGELOG" + self._writeChangeLogFile(changeLogFileName) + self._writeConfigFile("repet_version: 1.3.6\n") + + changeLogFileHandler = open(changeLogFileName, "r") + configFileHandler = open(self.configFileName, "r") + config = ConfigParser.ConfigParser() + config.readfp(configFileHandler) + + isCheckerExceptionRaised = False + try: + CheckerUtils.checkConfigVersion(changeLogFileHandler, config) + except CheckerException: + isCheckerExceptionRaised = True + self.assertFalse(isCheckerExceptionRaised) + + changeLogFileHandler.close() + configFileHandler.close() + os.remove(changeLogFileName) + + def test_getVersionFromChangelogFile(self): + changeLogFileName = "dummyCHANGELOG" + self._writeChangeLogFile(changeLogFileName) + obsVer = CheckerUtils.getVersionFromChangelogFile(changeLogFileName) + expVer = "1.3.6" + + self.assertEquals(obsVer, expVer) + + os.remove(changeLogFileName) + + def test_checkConfigVersion_check_exception_message(self): + changeLogFileName = "dummyCHANGELOG" + self._writeChangeLogFile(changeLogFileName) + self._writeConfigFile("repet_version: 1.3.5\n") + + changeLogFileHandler = open(changeLogFileName, "r") + configFileHandler = open(self.configFileName, "r") + config = ConfigParser.ConfigParser() + config.readfp(configFileHandler) + + checkerExceptionInstance = None + try: + CheckerUtils.checkConfigVersion(changeLogFileHandler, config) + except CheckerException, e: + checkerExceptionInstance = e + + expMessage = "*** Error: wrong config file version. Expected version num is 1.3.6 but actual in config file is 1.3.5" + obsMessage = checkerExceptionInstance.msg + + self.assertEquals(expMessage, obsMessage) + + def test_checkHeaders_first_header_with_question_mark(self): + fastaFileName = "dummyFasta.fa" + self._writeFastaFile_first_header_with_question_mark(fastaFileName) + fastaFileHandler = open(fastaFileName,"r") + isExceptionRaised = False + try: + CheckerUtils.checkHeaders(fastaFileHandler) + except CheckerException, e: + isExceptionRaised = True + + fastaFileHandler.close() + os.remove(fastaFileName) + + self.assertTrue(isExceptionRaised) + + expMessages = ["DmelChr4_Bla?ster_Piler_0.0_Map_3"] + obsMessages = e.getMessages() + + self.assertEquals(expMessages, obsMessages) + + def test_checkHeaders_with_2_wrong_headers(self): + fastaFileName = "dummyFasta.fa" + self._writeFastaFile_with_2_wrong_headers(fastaFileName) + fastaFileHandler = open(fastaFileName,"r") + isExceptionRaised = False + try: + CheckerUtils.checkHeaders(fastaFileHandler) + except CheckerException, e: + isExceptionRaised = True + + fastaFileHandler.close() + os.remove(fastaFileName) + + self.assertTrue(isExceptionRaised) + + expMessages = ["DmelChr4_Bla?ster_Piler_0.0_Map_3","DmelChr4_Bla!ster_Piler_1.0_Map_9"] + obsMessages = e.getMessages() + + self.assertEquals(expMessages, obsMessages) + + def test_checkHeaders_with_pipe(self): + fastaFileName = "dummyFasta.fa" + self._writeFastaFile_with_pipe(fastaFileName) + fastaFileHandler = open(fastaFileName,"r") + isExceptionRaised = False + try: + CheckerUtils.checkHeaders(fastaFileHandler) + except CheckerException, e: + isExceptionRaised = True + + fastaFileHandler.close() + os.remove(fastaFileName) + + self.assertTrue(isExceptionRaised) + + expMessages = ["DmelC|hr4_Blas-ter_Piler_1.0_Map_9"] + obsMessages = e.getMessages() + + self.assertEquals(expMessages, obsMessages) + + def test_checkHeaders_with_equal(self): + fastaFileName = "dummyFasta.fa" + self._writeFastaFile_with_equal(fastaFileName) + fastaFileHandler = open(fastaFileName,"r") + isExceptionRaised = False + try: + CheckerUtils.checkHeaders(fastaFileHandler) + except CheckerException, e: + isExceptionRaised = True + + fastaFileHandler.close() + os.remove(fastaFileName) + + self.assertTrue(isExceptionRaised) + + expMessages = ["DmelC:hr4_Blas=ter_Piler_1.0_Map_9"] + obsMessages = e.getMessages() + + self.assertEquals(expMessages, obsMessages) + + def test_checkHeaders_all_headers_ok(self): + fastaFileName = "dummyFasta.fa" + self._writeFastaFile_all_headers_ok(fastaFileName) + fastaFileHandler = open(fastaFileName,"r") + isExceptionRaised = False + try: + CheckerUtils.checkHeaders(fastaFileHandler) + except CheckerException: + isExceptionRaised = True + + fastaFileHandler.close() + os.remove(fastaFileName) + + self.assertFalse(isExceptionRaised) + + def _writeFastaFile_first_header_with_question_mark(self, fastaFileName): + fastaFileHandler = open(fastaFileName, "w") + fastaFileHandler.write(">DmelChr4_Bla?ster_Piler_0.0_Map_3\n") + fastaFileHandler.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n") + fastaFileHandler.write("TTCGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGA\n") + fastaFileHandler.write("GCTGAGAGCGCTACAGCGAACAGCTCTTTTCTACACATAAAGTGATAGCAGACAACTGTA\n") + fastaFileHandler.write("TGTGTGCACACGTGTGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCTTCAAA\n") + fastaFileHandler.write(">DmelChr4_Blaster_Piler_1.0_Map_9\n") + fastaFileHandler.write("AGTTTAAAAACCAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGC\n") + fastaFileHandler.write("ACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTG\n") + fastaFileHandler.write("AGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGA\n") + fastaFileHandler.write("GAACGCGTATAAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGACCGAAATCAATTCT\n") + fastaFileHandler.write("GATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAA\n") + fastaFileHandler.close() + + def _writeFastaFile_with_2_wrong_headers(self, fastaFileName): + fastaFileHandler = open(fastaFileName, "w") + fastaFileHandler.write(">DmelChr4_Bla?ster_Piler_0.0_Map_3\n") + fastaFileHandler.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n") + fastaFileHandler.write("TTCGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGA\n") + fastaFileHandler.write("GCTGAGAGCGCTACAGCGAACAGCTCTTTTCTACACATAAAGTGATAGCAGACAACTGTA\n") + fastaFileHandler.write("TGTGTGCACACGTGTGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCTTCAAA\n") + fastaFileHandler.write(">DmelChr4_Bla!ster_Piler_1.0_Map_9\n") + fastaFileHandler.write("AGTTTAAAAACCAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGC\n") + fastaFileHandler.write("ACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTG\n") + fastaFileHandler.write("AGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGA\n") + fastaFileHandler.write("GAACGCGTATAAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGACCGAAATCAATTCT\n") + fastaFileHandler.write("GATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAA\n") + fastaFileHandler.close() + + def _writeFastaFile_all_headers_ok(self, fastaFileName): + fastaFileHandler = open(fastaFileName, "w") + fastaFileHandler.write(">DmelChr4_Blaster_Piler_0.0_Map_3\n") + fastaFileHandler.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n") + fastaFileHandler.write("TTCGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGA\n") + fastaFileHandler.write("GCTGAGAGCGCTACAGCGAACAGCTCTTTTCTACACATAAAGTGATAGCAGACAACTGTA\n") + fastaFileHandler.write("TGTGTGCACACGTGTGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCTTCAAA\n") + fastaFileHandler.write(">DmelC:hr4_Blas-ter_Piler_1.0_Map_9\n") + fastaFileHandler.write("AGTTTAAAAACCAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGC\n") + fastaFileHandler.write("ACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTG\n") + fastaFileHandler.write("AGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGA\n") + fastaFileHandler.write("GAACGCGTATAAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGACCGAAATCAATTCT\n") + fastaFileHandler.write("GATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAA\n") + fastaFileHandler.close() + + def _writeFastaFile_with_pipe(self, fastaFileName): + fastaFileHandler = open(fastaFileName, "w") + fastaFileHandler.write(">DmelChr4_Blaster_Piler_0.0_Map_3\n") + fastaFileHandler.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n") + fastaFileHandler.write("TTCGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGA\n") + fastaFileHandler.write("GCTGAGAGCGCTACAGCGAACAGCTCTTTTCTACACATAAAGTGATAGCAGACAACTGTA\n") + fastaFileHandler.write("TGTGTGCACACGTGTGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCTTCAAA\n") + fastaFileHandler.write(">DmelC|hr4_Blas-ter_Piler_1.0_Map_9\n") + fastaFileHandler.write("AGTTTAAAAACCAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGC\n") + fastaFileHandler.write("ACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTG\n") + fastaFileHandler.write("AGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGA\n") + fastaFileHandler.write("GAACGCGTATAAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGACCGAAATCAATTCT\n") + fastaFileHandler.write("GATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAA\n") + fastaFileHandler.close() + + def _writeFastaFile_with_equal(self, fastaFileName): + fastaFileHandler = open(fastaFileName, "w") + fastaFileHandler.write(">DmelChr4_Blaster_Piler_0.0_Map_3\n") + fastaFileHandler.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n") + fastaFileHandler.write("TTCGCCGTGGCTCTAGAGGTGGCTCCAGGCTCTCTCGAATTTTTGTTAGAGAGCGAGAGA\n") + fastaFileHandler.write("GCTGAGAGCGCTACAGCGAACAGCTCTTTTCTACACATAAAGTGATAGCAGACAACTGTA\n") + fastaFileHandler.write("TGTGTGCACACGTGTGCTCATGCATTGTAAATTTGACAAAATATGCCCTTCACCTTCAAA\n") + fastaFileHandler.write(">DmelC:hr4_Blas=ter_Piler_1.0_Map_9\n") + fastaFileHandler.write("AGTTTAAAAACCAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGC\n") + fastaFileHandler.write("ACTATGCAGCCACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTG\n") + fastaFileHandler.write("AGAGCGTAAGAAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGA\n") + fastaFileHandler.write("GAACGCGTATAAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGACCGAAATCAATTCT\n") + fastaFileHandler.write("GATCGAAGAAACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAA\n") + fastaFileHandler.close() + + def _writeChangeLogFile(self, changeLogFileName ): + changeLogFileHandler = open(changeLogFileName, "w") + changeLogFileHandler.write("ChangeLog of REPET\n") + changeLogFileHandler.write("\n") + changeLogFileHandler.write("\n") + changeLogFileHandler.write("\n") + changeLogFileHandler.write("REPET release 1.3.6\n") + changeLogFileHandler.write("(release date XX/XX/2010)\n") + changeLogFileHandler.write("\n") + changeLogFileHandler.close() + + def _writeConfigFile(self, lineVersion): + configFileHandler = open(self.configFileName, "w") + configFileHandler.write("[repet_env]\n") + configFileHandler.write(lineVersion) + configFileHandler.write("repet_host: <your_MySQL_host>\n") + configFileHandler.close() + + +test_suite = unittest.TestSuite() +test_suite.addTest( unittest.makeSuite( Test_CheckerUtils ) ) +if __name__ == "__main__": + unittest.TextTestRunner(verbosity=2).run( test_suite )