3 from numpy.testing import TestCase, assert_equal, assert_almost_equal
4 from aubio import fvec, digital_filter
5 from utils import array_from_text_file
7 class aubio_filter_test_case(TestCase):
9 def test_members(self):
11 assert_equal (f.order, 7)
13 assert_equal (f.order, 5)
16 def test_cweighting_error(self):
17 f = digital_filter (2)
18 self.assertRaises ( ValueError, f.set_c_weighting, 44100 )
19 f = digital_filter (8)
20 self.assertRaises ( ValueError, f.set_c_weighting, 44100 )
21 f = digital_filter (5)
22 self.assertRaises ( ValueError, f.set_c_weighting, 4000 )
23 f = digital_filter (5)
24 self.assertRaises ( ValueError, f.set_c_weighting, 193000 )
25 f = digital_filter (7)
26 self.assertRaises ( ValueError, f.set_a_weighting, 193000 )
27 f = digital_filter (5)
28 self.assertRaises ( ValueError, f.set_a_weighting, 192000 )
30 def test_c_weighting(self):
31 expected = array_from_text_file('c_weighting_test_simple.expected')
33 f.set_c_weighting(44100)
37 assert_almost_equal (expected[1], u)
39 def test_c_weighting_8000(self):
40 expected = array_from_text_file('c_weighting_test_simple_8000.expected')
42 f.set_c_weighting(8000)
46 assert_almost_equal (expected[1], u)
48 def test_a_weighting(self):
49 expected = array_from_text_file('a_weighting_test_simple.expected')
51 f.set_a_weighting(44100)
55 assert_almost_equal (expected[1], u)
57 def test_a_weighting_parted(self):
58 expected = array_from_text_file('a_weighting_test_simple.expected')
60 f.set_a_weighting(44100)
64 assert_almost_equal (expected[1][:16], u)
68 assert_almost_equal (expected[1][16:], u)
70 def test_set_biquad(self):
72 f.set_biquad(0., 0., 0, 0., 0.)
74 def test_set_biquad_wrong_order(self):
76 with self.assertRaises(ValueError):
77 f.set_biquad(0., 0., 0, 0., 0.)
79 class aubio_filter_wrong_params(TestCase):
81 def test_negative_order(self):
82 with self.assertRaises(ValueError):
85 if __name__ == '__main__':
86 from unittest import main