Beispiel #1
0
 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()
Beispiel #3
0
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()