Changeset 143cc43


Ignore:
Timestamp:
Mar 6, 2013, 9:23:18 PM (7 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/constantq, feature/pitchshift, feature/pydocstrings, feature/timestretch, master, pitchshift, sampler, timestretch, yinfft+
Children:
e1bfde5
Parents:
b583c099
Message:

tests/test_mathutils.py: improve

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/tests/test_mathutils.py

    rb583c099 r143cc43  
    33from numpy.testing import TestCase, run_module_suite
    44from numpy.testing import assert_equal, assert_almost_equal
     5from numpy import array, arange, isnan, isinf
    56from aubio import bintomidi, miditobin, freqtobin, bintofreq, freqtomidi, miditofreq
    67from aubio import unwrap2pi
     8from aubio import fvec
     9from math import pi
    710
    811class aubio_mathutils(TestCase):
    912
    1013    def test_unwrap2pi(self):
    11        a = [ x/100. for x in range(-600,600,100) ]
    12        b = [ unwrap2pi(x) for x in a ]
    13        #print b
     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 TypeError:
     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 )
    1471
    1572    def test_miditobin(self):
    16        a = [ miditobin(a, 44100, 512) for a in range(128) ]
     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 )
    1779
    1880    def test_bintomidi(self):
    19        a = [ bintomidi(a, 44100, 512) for a in range(128) ]
     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 )
    2087
    2188    def test_freqtobin(self):
    22        a = [ freqtobin(a, 44100, 512) for a in range(128) ]
     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 )
    2395
    2496    def test_bintofreq(self):
    25        a = [ bintofreq(a, 44100, 512) for a in range(128) ]
    26 
    27     def test_freqtomidi(self):
    28        a = [ freqtomidi(a) for a in range(128) ]
    29 
    30     def test_miditofreq(self):
    31        freqs = [ miditofreq(a) for a in range(128) ]
    32        midis = [ freqtomidi(a) for a in freqs ]
     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 )
    33103
    34104if __name__ == '__main__':
Note: See TracChangeset for help on using the changeset viewer.