Beispiel #1
0
def output(partIdx):
    """Uses the student code to compute the output for test cases."""
    outputString = ''
    filename = open('testInputA1.pkl', 'rb')
    try:  ## load the dict
        dictInp = pickle.load(filename, encoding='latin1')  ## python3
    except TypeError:
        dictInp = pickle.load(filename)  ## python2

    testCases = dictInp['testCases']
    outputType = dictInp['outputType']

    if partIdx == 0:  # This is wk1-part-1: readAudio
        for line in testCases['A1-part-1']:
            answer = readAudio(**line)
            if outputType['A1-part-1'][0] == type(answer):
                outputString += convertNpObjToStr(answer) + '\n'
            else:
                wrongOutputTypeError(outputType['A1-part-1'][0], partIdx)
                return ''
                #sys.exit(1)

    elif partIdx == 1:  # This is wk1-part-2: minMaxAudio
        for line in testCases['A1-part-2']:
            answer = minMaxAudio(**line)
            if outputType['A1-part-2'][0] == type(answer):
                outputString += str(answer).strip('()') + '\n'
            else:
                wrongOutputTypeError(outputType['A1-part-2'][0], partIdx)
                return ''
                #sys.exit(1)

    elif partIdx == 2:  # This is wk1-part-3: hopSamples
        for line in testCases['A1-part-3']:
            answer = hopSamples(**line)
            if outputType['A1-part-3'][0] == type(answer):
                answer = answer.copy(
                )  # Important, else does not allocate continuous memory locations
                outputString += convertNpObjToStr(answer) + '\n'
            else:
                wrongOutputTypeError(outputType['A1-part-3'][0], partIdx)
                return ''
                #sys.exit(1)

    return outputString.strip()
Beispiel #2
0
def output(partIdx):
  """Uses the student code to compute the output for test cases."""
  outputString = ''

  dictInp = pickle.load(open("testInputA1.pkl"))  ## load the dict
  testCases = dictInp['testCases']
  outputType = dictInp['outputType']

  if partIdx == 0: # This is wk1-part-1: readAudio
    for line in testCases['A1-part-1']:
      answer = readAudio(**line)
      if outputType['A1-part-1'][0] == type(answer):
        outputString += convertNpObjToStr(answer) + '\n'
      else:
        wrongOutputTypeError(outputType['A1-part-1'][0])
        sys.exit(1)
      
  elif partIdx == 1: # This is wk1-part-2: minMaxAudio
    for line in testCases['A1-part-2']:
      answer = minMaxAudio(**line)
      if outputType['A1-part-2'][0] == type(answer):
        outputString += str(answer).strip('()') + '\n'
      else:
        wrongOutputTypeError(outputType['A1-part-2'][0])
        sys.exit(1)
      
  elif partIdx == 2: # This is wk1-part-3: hopSamples
    for line in testCases['A1-part-3']:
      answer = hopSamples(**line) 
      if outputType['A1-part-3'][0] == type(answer):
        answer = answer.copy()  # Important, else does not allocate continuous memory locations
        outputString += convertNpObjToStr(answer) + '\n'
      else:
        wrongOutputTypeError(outputType['A1-part-3'][0])
        sys.exit(1)        

  return outputString.strip()
Beispiel #3
0
def test2():
    return minMaxAudio(pianoFilename)
Beispiel #4
0
 def test_minMaxAudio(self):
     expected = (-0.83486432, 0.56501967)
     actual = minMaxAudio(os.path.join(os.path.dirname(os.path.dirname(sys.path[0])), 'sounds', 'oboe-A4.wav'))
     self.assertEqual(round(expected[0], -3), round(actual[0], -3))
     self.assertEqual(round(expected[1], -3), round(actual[0], -3))