source: python/tests/test_filter.py @ e97d0b3

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since e97d0b3 was a4cc8e5, checked in by Paul Brossier <piem@piem.org>, 12 years ago

tests/: array_from_file to look for file in tests/

  • Property mode set to 100755
File size: 2.1 KB
RevLine 
[75e715f]1#! /usr/bin/env python
[195b424]2
3from numpy.testing import TestCase, assert_equal, assert_almost_equal
[4c01c0f]4from aubio import fvec, digital_filter
[9b23eb31]5from numpy import array
[a4cc8e5]6from utils import array_from_text_file
[9b23eb31]7
8class aubio_filter_test_case(TestCase):
9
10  def test_members(self):
11    f = digital_filter()
[1a6ef2c]12    assert_equal (f.order, 7)
13    f = digital_filter(5)
14    assert_equal (f.order, 5)
[9b23eb31]15    f(fvec())
16 
17  def test_cweighting_error(self):
[1a6ef2c]18    f = digital_filter (2)
[07bf04e6]19    self.assertRaises ( ValueError, f.set_c_weighting, 44100 )
[1a6ef2c]20    f = digital_filter (8)
[07bf04e6]21    self.assertRaises ( ValueError, f.set_c_weighting, 44100 )
[1a6ef2c]22    f = digital_filter (5)
[07bf04e6]23    self.assertRaises ( ValueError, f.set_c_weighting, 4000 )
[1a6ef2c]24    f = digital_filter (5)
[07bf04e6]25    self.assertRaises ( ValueError, f.set_c_weighting, 193000 )
[1a6ef2c]26    f = digital_filter (7)
[07bf04e6]27    self.assertRaises ( ValueError, f.set_a_weighting, 193000 )
[1a6ef2c]28    f = digital_filter (5)
[07bf04e6]29    self.assertRaises ( ValueError, f.set_a_weighting, 192000 )
[9b23eb31]30
31  def test_c_weighting(self):
32    expected = array_from_text_file('c_weighting_test_simple.expected')
[1a6ef2c]33    f = digital_filter(5)
[615ac7d]34    f.set_c_weighting(44100)
[9b23eb31]35    v = fvec(32)
[1a6ef2c]36    v[12] = .5
[9b23eb31]37    u = f(v)
38    assert_almost_equal (expected[1], u)
39
[5747081]40  def test_c_weighting_8000(self):
41    expected = array_from_text_file('c_weighting_test_simple_8000.expected')
42    f = digital_filter(5)
43    f.set_c_weighting(8000)
44    v = fvec(32)
45    v[12] = .5
46    u = f(v)
47    assert_almost_equal (expected[1], u)
48
[9b23eb31]49  def test_a_weighting(self):
50    expected = array_from_text_file('a_weighting_test_simple.expected')
[1a6ef2c]51    f = digital_filter(7)
[615ac7d]52    f.set_a_weighting(44100)
[9b23eb31]53    v = fvec(32)
[1a6ef2c]54    v[12] = .5
[9b23eb31]55    u = f(v)
56    assert_almost_equal (expected[1], u)
57
58  def test_a_weighting_parted(self):
59    expected = array_from_text_file('a_weighting_test_simple.expected')
[1a6ef2c]60    f = digital_filter(7)
[615ac7d]61    f.set_a_weighting(44100)
[9b23eb31]62    v = fvec(16)
[1a6ef2c]63    v[12] = .5
[9b23eb31]64    u = f(v)
65    assert_almost_equal (expected[1][:16], u)
66    # one more time
67    v = fvec(16)
68    u = f(v)
69    assert_almost_equal (expected[1][16:], u)
70
71if __name__ == '__main__':
72  from unittest import main
73  main()
74
Note: See TracBrowser for help on using the repository browser.