shithub: aubio

ref: 974dddc7e5fc66721c791c6dac2582395f1f39ea
dir: /tests/python/src/utils/hist.py/

View raw version
import unittest

from template import aubio_unit_template
from aubio.aubiowrapper import *

buf_size = 2048
channels = 1
flow = 0.
fhig = 100.

nelems = 1000

class hist_unit(aubio_unit_template):

  def setUp(self):
    self.o = new_aubio_hist(flow, fhig, nelems, channels)

  def tearDown(self):
    del_aubio_hist(self.o)

  def test_hist(self):
    """ create and delete hist """
    pass

  def test_hist_zeroes(self):
    """ test hist on zeroes """
    input = new_fvec(buf_size, channels)
    aubio_hist_do_notnull(self.o, input)
    aubio_hist_weight(self.o)
    self.assertEqual(0., aubio_hist_mean(self.o))
    del_fvec(input)

  def test_hist_impulse(self):
    """ test hist on impulse """
    input = new_fvec(buf_size, channels)
    constant = fhig - 1. 
    fvec_write_sample(input,constant,0,0)
    aubio_hist_do_notnull(self.o, input)
    self.assertCloseEnough(1./nelems, aubio_hist_mean(self.o))
    del_fvec(input)

  def test_hist_impulse2(self):
    """ test hist on impulse """
    input = new_fvec(buf_size, channels)
    constant = fhig + 1. 
    fvec_write_sample(input,constant,0,0)
    aubio_hist_do_notnull(self.o, input)
    self.assertCloseEnough(1./nelems, aubio_hist_mean(self.o))
    del_fvec(input)

if __name__ == '__main__': unittest.main()