code: def test_types(self):
      result = phase(np.random.rand(10))
      self.assertTrue(result.dtype == float)
      self.assertTrue(result.shape == (10,))
      result = phase(np.random.rand(10, 2))
      self.assertTrue(result.dtype == float)
      self.assertTrue(result.shape == (10, 2))
      # complex data
      data = np.random.rand(10) + 1j * np.random.rand(10)
      result = phase(data)
      self.assertTrue(result.dtype == float)
      self.assertTrue(result.shape == (10,))
      data = np.random.rand(10, 2) + 1j * np.random.rand(10, 2)
      result = phase(data)
      self.assertTrue(result.dtype == float)
      self.assertTrue(result.shape == (10, 2))
  
imports: from __future__ import absolute_import, division, print_function
  import sys
  import unittest
  from os.path import join
  from madmom.audio.spectrogram import Spectrogram
  from madmom.audio.stft import *
  from .None import AUDIO_PATH
label_desc: Use image node_id 1 for calling the TestPhaseFunction obj's underlying member method code with example usage: obj.test_types() without return types