def testRecYesOnString(): for (progName, inString, solution) in [('containsGAGA.py', 'GAGAGAGAG', 'yes'), \ ('containsGAGA.py', 'TTTTGGCCGGT', 'no') ]: combinedString = utils.ESS(rf(progName), inString) val = recYesOnString(combinedString) utils.tprint( (progName, inString), ":", val ) assert val == solution
def yesViaNumChars(progString, inString): singleString = utils.ESS(progString, inString) val = numCharsOnString(rf('alterYesToNumChars.py'), \ singleString) if val == '3': return 'yes' else: return 'no'
def testAlterYesToNumChars(): for (progName, inString, solution) in [ ('containsGAGA.py', 'GAGAGAGAG', 'xxx'), ('containsGAGA.py', 'TTTTGGCCGGT', 'xx'), ]: val = alterYesToNumChars(utils.ESS(rf(progName), inString)) utils.tprint((progName, inString), ":", val) assert val == solution
def testAlterYesToHalt(): for (progName, inString, solution) in [ ('containsGAGA.py', 'GAGAGAGAG', 'halted'), ('containsGAGA.py', 'TTTTGGCCGGT', None), ]: combinedString = utils.ESS(rf(progName), inString) val = utils.runWithTimeout(None, alterYesToHalt, combinedString) utils.tprint((progName, inString), ":", val) assert val == solution
def testAlterGAGAtoTATA(): testvals = [ ('repeatCAorGA.py', 'CA', 'CACA'), ('repeatCAorGA.py', 'GA', 'TATA'), ] for (progName, inString, solution) in testvals: val = alterGAGAtoTATA(utils.ESS(rf(progName), inString)) utils.tprint(progName, ',', inString, ':', val) assert val == solution
def testAlterYesToGAGA(): for (progName, inString, solution) in [('containsGAGA.py', 'GAGAGAGAG', 'GAGA'), ('containsGAGA.py', 'ATATACCC', 'no')]: progString = rf(progName) combinedString = utils.ESS(progString, inString) val = alterYesToGAGA(combinedString) utils.tprint((progName, inString), ":", val) assert val == solution
def testSimulateTM1(): for (filename, inString, solution) in [ ('containsGAGA.tm', 'CCCCCCCCCAAAAAA', 'no'), ('containsGAGA.tm', 'CCCGAGACCAAAAAA', 'yes'), ('binaryIncrementer.tm', 'x100111x', 'x101000x'), ]: val = simulateTM1(utils.ESS(rf(filename), inString)) utils.tprint('filename:', filename, 'inString:', inString, 'result:', val) assert val == solution
def testUniversal1arg(): testVals = [ ('containsGAGA.py', 'asdf', 'no'), ('containsGAGA.py', 'GGGGGACCCCGAGATTT', 'yes'), ('multiply.py', '100 10000', str(100 * 10000)), ('multiply.py', '1024 256', str(1024 * 256)), ('listEvens.py', '2', ''), ('listEvens.py', '10', '2,4,6,8'), ] for (filename, inString, solution) in testVals: progString = rf(filename) newInString = utils.ESS(progString, inString) val = universal1arg(newInString) utils.tprint(filename, inString, val) assert val == solution
def yesViaGAGA(progString, inString): singleString = utils.ESS(progString, inString) return GAGAOnString(rf('alterYesToGAGA.py'), singleString)
def alterGAGAtoTATA2(progString, inString): singleString = utils.ESS(progString, inString) return alterGAGAtoTATA(singleString)