History

python/tests/test_zero_crossing_rate.py: update

Paul Brossier committed 12 years ago

Commit 969bbb21 parent 018e5112 files · +51 −56Browse files

Showing the changes to python/tests (2 of 2 files). Show all

Unified · Split

2 files
  1. python/tests/test_zero_crossing_rate.py +51 −0
  2. python/tests/test_zero_crossing_rate.py.old +0 −56
python/tests/test_zero_crossing_rate.py+51−0
@@ -0,0 +1,51 @@
1from aubio import fvec, zero_crossing_rate
2
3#! /usr/bin/env python
4
5from numpy.testing import TestCase
6
7buf_size = 2048
8
9class zero_crossing_rate_test_case(TestCase):
10
11 def setUp(self):
12 self.vector = fvec(buf_size)
13
14 def test(self):
15 """ create and delete fvec """
16 pass
17
18 def test_zeroes(self):
19 """ check zero crossing rate on a buffer of 0. """
20 self.assertEqual(0., zero_crossing_rate(self.vector))
21
22 def test_ones(self):
23 """ check zero crossing rate on a buffer of 1. """
24 self.vector[:] = 1.
25 self.assertEqual(0., zero_crossing_rate(self.vector))
26
27 def test_impulse(self):
28 """ check zero crossing rate on a buffer with an impulse """
29 self.vector[buf_size / 2] = 1.
30 self.assertEqual(0., zero_crossing_rate(self.vector))
31
32 def test_negative_impulse(self):
33 """ check zero crossing rate on a buffer with a negative impulse """
34 self.vector[buf_size / 2] = -1.
35 self.assertEqual(2./buf_size, zero_crossing_rate(self.vector))
36
37 def test_single(self):
38 """ check zero crossing rate on single crossing """
39 self.vector[buf_size / 2 - 1] = 1.
40 self.vector[buf_size / 2] = -1.
41 self.assertEqual(2./buf_size, zero_crossing_rate(self.vector))
42
43 def test_single_with_gap(self):
44 """ check zero crossing rate on single crossing with a gap"""
45 self.vector[buf_size / 2 - 2] = 1.
46 self.vector[buf_size / 2] = -1.
47 self.assertEqual(2./buf_size, zero_crossing_rate(self.vector))
48
49if __name__ == '__main__':
50 from unittest import main
51 main()
python/tests/test_zero_crossing_rate.py.old+0−56
@@ -1,56 +0,0 @@
1from aubio import zero_crossing_rate
2
3#! /usr/bin/env python
4
5from numpy.testing import TestCase
6
7buf_size = 2048
8channels = 1
9
10class zero_crossing_rate_test_case(TestCase):
11
12 def setUp(self):
13 self.vector = new_fvec(buf_size, channels)
14
15 def tearDown(self):
16 del_fvec(self.vector)
17
18 def test(self):
19 """ create and delete fvec """
20 pass
21
22 def test_zeroes(self):
23 """ check zero crossing rate on a buffer of 0. """
24 self.assertEqual(0., zero_crossing_rate(self.vector))
25
26 def test_ones(self):
27 """ check zero crossing rate on a buffer of 1. """
28 for index in range(buf_size):
29 for channel in range(channels):
30 fvec_write_sample(self.vector, 1., channel, index)
31 self.assertEqual(0., zero_crossing_rate(self.vector))
32
33 def test_impulse(self):
34 """ check zero crossing rate on a buffer with an impulse """
35 fvec_write_sample(self.vector, 1., 0, buf_size / 2)
36 self.assertEqual(0., zero_crossing_rate(self.vector))
37
38 def test_negative_impulse(self):
39 """ check zero crossing rate on a buffer with a negative impulse """
40 fvec_write_sample(self.vector, -1., 0, buf_size / 2)
41 self.assertEqual(2./buf_size, zero_crossing_rate(self.vector))
42
43 def test_single(self):
44 """ check zero crossing rate on single crossing """
45 fvec_write_sample(self.vector, +1., 0, buf_size / 2 - 1)
46 fvec_write_sample(self.vector, -1., 0, buf_size / 2)
47 self.assertEqual(2./buf_size, zero_crossing_rate(self.vector))
48
49 def test_single_with_gap(self):
50 """ check zero crossing rate on single crossing with a gap"""
51 fvec_write_sample(self.vector, +1., 0, buf_size / 2 - 2)
52 fvec_write_sample(self.vector, -1., 0, buf_size / 2)
53 self.assertEqual(2./buf_size, zero_crossing_rate(self.vector))
54
55if __name__ == '__main__':
56 unittest.main()

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t