1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#! /usr/bin/env python
import numpy as np
from numpy.testing import TestCase, assert_equal
import aubio
class aubio_shift_test_case(TestCase):
def run_shift_ishift(self, n):
ramp = np.arange(n, dtype=aubio.float_type)
# construct expected output
# even length: [5. 6. 7. 8. 9. 0. 1. 2. 3. 4.]
# odd length: [4. 5. 6. 0. 1. 2. 3.]
half = n - n//2
expected = np.concatenate([np.arange(half, n), np.arange(half)])
# shift in place, returns modified copy
assert_equal(aubio.shift(ramp), expected)
# check input was changed as expected
assert_equal(ramp, expected)
# construct expected output
expected = np.arange(n)
# revert shift in place, returns modifed copy
assert_equal(aubio.ishift(ramp), expected)
# check input was shifted back
assert_equal(ramp, expected)
def test_can_shift_fvec(self):
self.run_shift_ishift(10)
def test_can_shift_fvec_odd(self):
self.run_shift_ishift(7)
if __name__ == '__main__':
from unittest import main
main()
|