--- /dev/null
+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()