def output(partIdx): """Uses the student code to compute the output for test cases.""" outputString = '' dictInp = pickle.load(open("testInputA3.pkl")) ## load the dict testCases = dictInp['testCases'] outputType = dictInp['outputType'] if partIdx == 0: # This is A3-part-1: minimizeEnergySpreadDFT for line in testCases['A3-part-1']: answer = minimizeEnergySpreadDFT(**line) if outputType['A3-part-1'][0] == type(answer): outputString += convertNpObjToStr(answer) + '\n' else: wrongOutputTypeError(outputType['A3-part-1'][0]) sys.exit(1) elif partIdx == 1: # This is A3-part-2: optimalZeropad for line in testCases['A3-part-2']: answer = optimalZeropad(**line) if outputType['A3-part-2'][0] == type(answer): outputString += convertNpObjToStr(answer) + '\n' #str(answer).strip('()') + '\n' else: wrongOutputTypeError(outputType['A3-part-2'][0]) sys.exit(1) elif partIdx == 2: # This is A3-part-3: testRealEven for line in testCases['A3-part-3']: answer = testRealEven(**line) if (outputType['A3-part-3'][0] == type(answer)) and (len(answer) == 3): #answer = answer.copy() # Important, else does not allocate continuous memory locations for ans in answer: outputString += convertNpObjToStr(ans) + '\n' outputString += '\n' else: wrongOutputTypeError(outputType['A3-part-3'][0]) sys.exit(1) elif partIdx == 3: # This is A3-part-4: suppressFreqDFTmodel for line in testCases['A3-part-4']: answer = suppressFreqDFTmodel(**line) if (outputType['A3-part-4'][0] == type(answer)) and (len(answer) == 2): #answer = answer.copy() # Important, else does not allocate continuous memory locations for ans in answer: outputString += convertNpObjToStr(ans) + '\n' outputString += '\n' else: wrongOutputTypeError(outputType['A3-part-4'][0]) sys.exit(1) elif partIdx == 4: # This is A3-part-5: zpFFTsizeExpt for line in testCases['A3-part-5']: answer = zpFFTsizeExpt(**line) if (outputType['A3-part-5'][0] == type(answer)) and (len(answer) == 3): #answer = answer.copy() # Important, else does not allocate continuous memory locations for ans in answer: outputString += convertNpObjToStr(ans) + '\n' outputString += '\n' else: wrongOutputTypeError(outputType['A3-part-5'][0]) sys.exit(1) return outputString.strip()
def test_minimizeEnergySpreadDFT2(self): testData = load(1, 2) mX = minimizeEnergySpreadDFT(testData['input']['x'], testData['input']['fs'], testData['input']['f1'], testData['input']['f2']) self.assertTrue(np.allclose(testData['output'], mX))