From: Paul Brossier Date: Sun, 18 May 2008 01:23:11 +0000 (+0200) Subject: tests/python/src/utils/hist.py: update existing test cases, add two more X-Git-Tag: bzr2git~383 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=42f1cf149c22a8d0f0f11d251f1af8097f93695a;p=aubio.git tests/python/src/utils/hist.py: update existing test cases, add two more --- diff --git a/tests/python/src/utils/hist.py b/tests/python/src/utils/hist.py index 93065377..340f5143 100644 --- a/tests/python/src/utils/hist.py +++ b/tests/python/src/utils/hist.py @@ -1,18 +1,20 @@ import unittest +import random from template import aubio_unit_template from aubio.aubiowrapper import * buf_size = 2048 channels = 1 -flow = 0. -fhig = 100. +flow = float(random.randint(0, 100) + random.random()) +fhig = float(random.randint(100, 1000) + random.random()) nelems = 1000 class hist_unit(aubio_unit_template): def setUp(self): + print flow, fhig self.o = new_aubio_hist(flow, fhig, nelems, channels) def tearDown(self): @@ -30,8 +32,9 @@ class hist_unit(aubio_unit_template): self.assertEqual(0., aubio_hist_mean(self.o)) del_fvec(input) - def test_hist_impulse(self): - """ test hist on impulse """ + def test_hist_impulse_top(self): + """ test hist on impulse (top - 1.) """ + """ this returns 1./nelems because 1 element is in the range """ input = new_fvec(buf_size, channels) constant = fhig - 1. fvec_write_sample(input,constant,0,0) @@ -39,13 +42,34 @@ class hist_unit(aubio_unit_template): self.assertCloseEnough(1./nelems, aubio_hist_mean(self.o)) del_fvec(input) - def test_hist_impulse2(self): - """ test hist on impulse """ + def test_hist_impulse_over(self): + """ test hist on impulse (top + 1.) """ + """ this returns 0 because constant is out of range """ 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(0., aubio_hist_mean(self.o)) + del_fvec(input) + + def test_hist_impulse_bottom(self): + """ test hist on constant near lower limit """ + """ this returns 1./nelems because 1 element is in the range """ + input = new_fvec(buf_size, channels) + constant = flow + 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_impulse_under(self): + """ test hist on constant under lower limit """ + """ this returns 0 because constant is out of range """ + input = new_fvec(buf_size, channels) + constant = flow - 1. + fvec_write_sample(input,constant,0,0) + aubio_hist_do_notnull(self.o, input) + self.assertCloseEnough(0., aubio_hist_mean(self.o)) + del_fvec(input) + if __name__ == '__main__': unittest.main()