def test_suppressFreqDFTmodel2(self): data = load(4, 2) eY, eYfilt = data['output'] aY, aYfilt = suppressFreqDFTmodel(data['input']['x'], data['input']['fs'], data['input']['N']) print('eYfilt', eYfilt) print('aYfilt', aYfilt) self.assertTrue(np.allclose(eY, aY)) self.assertTrue(np.allclose(eYfilt, aYfilt))
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()