def test_zpFFTsizeExpt(self): data = load(5, 1) eMX1_80, eMX2_80, eMX3_80 = data['output'] aMX1_80, aMX2_80, aMX3_80 = zpFFTsizeExpt(data['input']['x'], data['input']['fs']) self.assertTrue(np.allclose(eMX1_80, aMX1_80)) self.assertTrue(np.allclose(eMX2_80, aMX2_80)) self.assertTrue(np.allclose(eMX3_80, aMX3_80))
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()