Showing the changes to python/tests (2 of 2 files). Show all
Unified · Split
| @@ -0,0 +1,51 @@ | |||
| 1 | from aubio import fvec, zero_crossing_rate | ||
| 2 | |||
| 3 | #! /usr/bin/env python | ||
| 4 | |||
| 5 | from numpy.testing import TestCase | ||
| 6 | |||
| 7 | buf_size = 2048 | ||
| 8 | |||
| 9 | class 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 | |||
| 49 | if __name__ == '__main__': | ||
| 50 | from unittest import main | ||
| 51 | main() | ||
| @@ -1,56 +0,0 @@ | |||
| 1 | from aubio import zero_crossing_rate | ||
| 2 | |||
| 3 | #! /usr/bin/env python | ||
| 4 | |||
| 5 | from numpy.testing import TestCase | ||
| 6 | |||
| 7 | buf_size = 2048 | ||
| 8 | channels = 1 | ||
| 9 | |||
| 10 | class 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 | |||
| 55 | if __name__ == '__main__': | ||
| 56 | unittest.main() | ||