source: python/tests/test_mathutils.py @ 6fbee46

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

tests/test_mathutils.py: can be TypeError? or NotImplementedError?

  • Property mode set to 100755
File size: 3.3 KB
Line 
1#! /usr/bin/env python
2
3from numpy.testing import TestCase, run_module_suite
4from numpy.testing import assert_equal, assert_almost_equal
5from numpy import array, arange, isnan, isinf
6from aubio import bintomidi, miditobin, freqtobin, bintofreq, freqtomidi, miditofreq
7from aubio import unwrap2pi
8from aubio import fvec
9from math import pi
10
11class aubio_mathutils(TestCase):
12
13    def test_unwrap2pi(self):
14        unwrap2pi(int(23))
15        unwrap2pi(float(23.))
16        unwrap2pi(long(23.))
17        unwrap2pi(arange(10))
18        unwrap2pi(arange(10).astype("int"))
19        unwrap2pi(arange(10).astype("float"))
20        unwrap2pi(arange(10).astype("float32"))
21        unwrap2pi([1,3,5])
22        unwrap2pi([23.,24.,25.])
23        a = fvec(10)
24        a[:] = 4.
25        unwrap2pi(a)
26        a = pi/100. * arange(-600,600).astype("float")
27        b = unwrap2pi (a)
28        #print zip(a, b)
29
30        try:
31            print unwrap2pi(["23.","24.",25.])
32        except Exception, e:
33            pass
34
35    def test_unwrap2pi_takes_fvec(self):
36        a = fvec(10)
37        b = unwrap2pi(a)
38        #print zip(a, b)
39        assert ( b > -pi ).all()
40        assert ( b <= pi ).all()
41
42    def test_unwrap2pi_takes_array_of_float(self):
43        a = arange(-10., 10.).astype("float")
44        b = unwrap2pi(a)
45        #print zip(a, b)
46        assert ( b > -pi ).all()
47        assert ( b <= pi ).all()
48
49    def test_unwrap2pi_takes_array_of_float32(self):
50        a = arange(-10, 10).astype("float32")
51        b = unwrap2pi(a)
52        #print zip(a, b)
53        assert ( b > -pi ).all()
54        assert ( b <= pi ).all()
55
56    def test_freqtomidi(self):
57        a = array(range(-20, 50000, 100) + [ -1e32, 1e32 ])
58        b = freqtomidi(a)
59        #print zip(a, b)
60        assert_equal ( isnan(array(b)), False )
61        assert_equal ( isinf(array(b)), False )
62        assert_equal ( array(b) < 0, False )
63
64    def test_miditofreq(self):
65        a = range(-30, 200) + [-100000, 10000]
66        b = miditofreq(a)
67        #print zip(a, b)
68        assert_equal ( isnan(b), False )
69        assert_equal ( isinf(b), False )
70        assert_equal ( b < 0, False )
71
72    def test_miditobin(self):
73        a = range(-30, 200) + [-100000, 10000]
74        b = [ bintomidi(x, 44100, 512) for x in a ]
75        #print zip(a, b)
76        assert_equal ( isnan(array(b)), False )
77        assert_equal ( isinf(array(b)), False )
78        assert_equal ( array(b) < 0, False )
79
80    def test_bintomidi(self):
81        a = range(-100, 512)
82        b = [ bintomidi(x, 44100, 512) for x in a ]
83        #print zip(a, b)
84        assert_equal ( isnan(array(b)), False )
85        assert_equal ( isinf(array(b)), False )
86        assert_equal ( array(b) < 0, False )
87
88    def test_freqtobin(self):
89        a = range(-20, 50000, 100) + [ -1e32, 1e32 ]
90        b = [ freqtobin(x, 44100, 512) for x in a ]
91        #print zip(a, b)
92        assert_equal ( isnan(array(b)), False )
93        assert_equal ( isinf(array(b)), False )
94        assert_equal ( array(b) < 0, False )
95
96    def test_bintofreq(self):
97        a = range(-20, 148)
98        b = [ bintofreq(x, 44100, 512) for x in a ]
99        #print zip(a, b)
100        assert_equal ( isnan(array(b)), False )
101        assert_equal ( isinf(array(b)), False )
102        assert_equal ( array(b) < 0, False )
103
104if __name__ == '__main__':
105    from unittest import main
106    main()
Note: See TracBrowser for help on using the repository browser.