Mercurial > repos > yufei-luo > s_mart
comparison commons/pyRepetUnit/hmmer/check/test/Test_OldDetectFeaturesConfigChecker.py @ 18:94ab73e8a190
Uploaded
| author | m-zytnicki |
|---|---|
| date | Mon, 29 Apr 2013 03:20:15 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 17:b0e8584489e6 | 18:94ab73e8a190 |
|---|---|
| 1 import unittest | |
| 2 import re | |
| 3 import os | |
| 4 from commons.pyRepetUnit.hmmer.check.OldDetectFeatureConfigChecker import DetectFeatureConfigChecker | |
| 5 from commons.core.checker.ConfigException import ConfigException | |
| 6 | |
| 7 class Test_DetectFeaturesConfigChecker(unittest.TestCase): | |
| 8 | |
| 9 def setUp(self): | |
| 10 self._detectFeatureConfigChecker = DetectFeatureConfigChecker() | |
| 11 | |
| 12 def testWithDefaultLogger (self): | |
| 13 lineFound = False | |
| 14 try: | |
| 15 self._detectFeatureConfigChecker.check("dummyConfig") | |
| 16 except ConfigException, e: | |
| 17 for msg in e.messages: | |
| 18 if (re.match("CONFIG FILE not found.*", msg)): | |
| 19 lineFound = True | |
| 20 self.assertTrue(lineFound) | |
| 21 | |
| 22 def testWithNoConfigFile(self): | |
| 23 lineFound = False | |
| 24 try: | |
| 25 self._detectFeatureConfigChecker.check("dummyConfig") | |
| 26 except ConfigException, e: | |
| 27 for msg in e.messages: | |
| 28 if (re.match("CONFIG FILE not found.*", msg)): | |
| 29 lineFound = True | |
| 30 self.assertTrue(lineFound) | |
| 31 | |
| 32 def testWithNoSectionInConfigFile(self): | |
| 33 config = open("config.cfg", "w"); | |
| 34 config.close() | |
| 35 lineFound = False | |
| 36 try: | |
| 37 self._detectFeatureConfigChecker.check("config.cfg") | |
| 38 except ConfigException, e: | |
| 39 for msg in e.messages: | |
| 40 if (re.match("\[detect_features\] section not found.*", msg)): | |
| 41 lineFound = True | |
| 42 self.assertTrue(lineFound) | |
| 43 os.remove("config.cfg") | |
| 44 | |
| 45 def testMissingOptionsInConfig (self): | |
| 46 dict = {} | |
| 47 MockConfigFile("config.cfg", dict) | |
| 48 hmmProfilsFound = False | |
| 49 TE_BLRnFound = False | |
| 50 try : | |
| 51 self._detectFeatureConfigChecker.check("config.cfg") | |
| 52 except ConfigException, e: | |
| 53 for msg in e.messages: | |
| 54 if (re.match("\[detect_features\] - No option 'te_hmmer' in section: 'detect_features'", msg)): | |
| 55 hmmProfilsFound = True | |
| 56 if (re.match("\[detect_features\] - No option 'te_blrn' in section: 'detect_features'", msg)): | |
| 57 TE_BLRnFound = True | |
| 58 self.assertTrue(hmmProfilsFound) | |
| 59 self.assertTrue(TE_BLRnFound) | |
| 60 os.remove("config.cfg") | |
| 61 | |
| 62 def testOptionsIfHmmProfilsSetAtYESInConfig (self): | |
| 63 | |
| 64 dict = { | |
| 65 "TE_HMMER" : "yes", | |
| 66 "TE_BLRn" : "no" | |
| 67 } | |
| 68 | |
| 69 profilDatabankFound = False | |
| 70 evalueFound = False | |
| 71 MockConfigFile("config.cfg", dict) | |
| 72 try : | |
| 73 self._detectFeatureConfigChecker.check("config.cfg") | |
| 74 except ConfigException, e: | |
| 75 for msg in e.messages: | |
| 76 print msg | |
| 77 if (re.match("\[detect_features\] - No option 'te_hmm_profiles' in section: 'detect_features' whereas te_hmmer is set", msg)): | |
| 78 profilDatabankFound = True | |
| 79 if (re.match("\[detect_features\] - No option 'te_hmmer_evalue' in section: 'detect_features' whereas te_hmmer is set - Default value will be set", msg)): | |
| 80 evalueFound = True | |
| 81 self.assertTrue(profilDatabankFound) | |
| 82 self.assertTrue(evalueFound) | |
| 83 os.remove("config.cfg") | |
| 84 | |
| 85 | |
| 86 def testOptionsIfHmmProfilsSetAtNOInConfig (self): | |
| 87 profilDatabankFound = False | |
| 88 inputFormatFound = False | |
| 89 evalueFound = False | |
| 90 dict = { | |
| 91 "TE_HMMER" : "no" | |
| 92 } | |
| 93 MockConfigFile("config.cfg", dict) | |
| 94 try : | |
| 95 self._detectFeatureConfigChecker.check("config.cfg") | |
| 96 except ConfigException, e: | |
| 97 for msg in e.messages: | |
| 98 if (re.match(".+INFO \[detect_features\] - No option 'te_hmm_profiles' in section: 'detect_features' whereas te_hmmer is set", msg)): | |
| 99 profilDatabankFound = True | |
| 100 if (re.match(".+INFO \[detect_features\] - No option 'te_hmmer_evalue' in section: 'detect_features' whereas te_hmmer is set - Default value will be set", msg)): | |
| 101 evalueFound = True | |
| 102 self.assertFalse(profilDatabankFound) | |
| 103 self.assertFalse(inputFormatFound) | |
| 104 self.assertFalse(evalueFound) | |
| 105 os.remove("config.cfg") | |
| 106 | |
| 107 def testTE_BLRnAndTE_hmmerAtNoInConfig (self): | |
| 108 | |
| 109 dict = { | |
| 110 "TE_HMMER" : "no", | |
| 111 "TE_BLRn" : "no" | |
| 112 } | |
| 113 | |
| 114 exceptionNotRaised = True | |
| 115 MockConfigFile("config.cfg", dict) | |
| 116 try : | |
| 117 self._detectFeatureConfigChecker.check("config.cfg") | |
| 118 except ConfigException: | |
| 119 exceptionNotRaised = False | |
| 120 | |
| 121 self.assertTrue(exceptionNotRaised) | |
| 122 | |
| 123 os.remove("config.cfg") | |
| 124 | |
| 125 class MockConfigFile: | |
| 126 | |
| 127 def __init__ (self, fileName, optionsDict): | |
| 128 | |
| 129 self._fileName = fileName | |
| 130 config = open(fileName, "w"); | |
| 131 config.write("[detect_features]\n") | |
| 132 for key in optionsDict.keys(): | |
| 133 config.write(key + ":" + optionsDict[key] + "\n") | |
| 134 config.close() | |
| 135 | |
| 136 | |
| 137 if __name__ == "__main__": | |
| 138 unittest.main() |
