From 0b6d23d44dbc0a17a05664d928f38785d56d01f7 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Mon, 16 May 2016 05:08:18 +0200 Subject: [PATCH] python/tests: fix most prospect warnings --- python/tests/test_aubio.py | 12 ++--- python/tests/test_cvec.py | 9 ++-- python/tests/test_fft.py | 32 +++++++------ python/tests/test_filter.py | 3 +- python/tests/test_filterbank.py | 3 +- python/tests/test_filterbank_mel.py | 80 ++++++++++++++++----------------- python/tests/test_fvec.py | 6 +-- python/tests/test_mathutils.py | 11 +++-- python/tests/test_mfcc.py | 15 +++---- python/tests/test_midi2note.py | 2 +- python/tests/test_musicutils.py | 44 +++++------------- python/tests/test_note2midi.py | 4 +- python/tests/test_onset.py | 5 +-- python/tests/test_phasevoc.py | 8 ++-- python/tests/test_pitch.py | 15 +++---- python/tests/test_sink.py | 7 ++- python/tests/test_slicing.py | 9 ++-- python/tests/test_source.py | 33 +++++++------- python/tests/test_specdesc.py | 49 +++++++------------- python/tests/test_zero_crossing_rate.py | 3 +- python/tests/utils.py | 17 +++---- 21 files changed, 154 insertions(+), 213 deletions(-) diff --git a/python/tests/test_aubio.py b/python/tests/test_aubio.py index 951ade98..cac83971 100755 --- a/python/tests/test_aubio.py +++ b/python/tests/test_aubio.py @@ -1,14 +1,14 @@ #! /usr/bin/env python -from numpy.testing import TestCase, run_module_suite +from unittest import main +from numpy.testing import TestCase class aubiomodule_test_case(TestCase): - def test_import(self): - """ try importing aubio """ - import aubio + def test_import(self): + """ try importing aubio """ + import aubio if __name__ == '__main__': - from unittest import main - main() + main() diff --git a/python/tests/test_cvec.py b/python/tests/test_cvec.py index 80232eb5..53bf8dfd 100755 --- a/python/tests/test_cvec.py +++ b/python/tests/test_cvec.py @@ -1,9 +1,9 @@ #! /usr/bin/env python -from numpy.testing import TestCase -from numpy.testing import assert_equal, assert_almost_equal -from aubio import cvec, fvec, float_type +from unittest import main import numpy as np +from numpy.testing import TestCase, assert_equal +from aubio import cvec, fvec, float_type wrong_type = 'float32' if float_type == 'float64' else 'float64' @@ -13,7 +13,7 @@ class aubio_cvec_test_case(TestCase): a = cvec(10) assert_equal(a.norm.shape[0], 10 / 2 + 1) assert_equal(a.phas.shape[0], 10 / 2 + 1) - a.norm[0] + _ = a.norm[0] assert_equal(a.norm, 0.) assert_equal(a.phas, 0.) @@ -142,5 +142,4 @@ class aubio_cvec_wrong_norm_input(TestCase): a.norm = np.zeros((512//2+1, 2), dtype = float_type) if __name__ == '__main__': - from nose2 import main main() diff --git a/python/tests/test_fft.py b/python/tests/test_fft.py index 93f7d51b..fa349e5e 100755 --- a/python/tests/test_fft.py +++ b/python/tests/test_fft.py @@ -1,9 +1,12 @@ #! /usr/bin/env python +from unittest import main from numpy.testing import TestCase from numpy.testing import assert_equal, assert_almost_equal +import numpy as np from aubio import fvec, fft, cvec -from math import pi +from math import pi, floor +from random import random class aubio_fft_test_case(TestCase): @@ -34,8 +37,6 @@ class aubio_fft_test_case(TestCase): def test_impulse(self): """ check the transform of one impulse at a random place """ - from random import random - from math import floor win_s = 256 i = int(floor(random()*win_s)) impulse = pi * random() @@ -49,27 +50,26 @@ class aubio_fft_test_case(TestCase): assert_equal ( fftgrain.phas >= -pi, True) def test_impulse_negative(self): - """ check the transform of one impulse at a random place """ - from random import random - from math import floor + """ check the transform of a negative impulse at a random place """ win_s = 256 - i = 0 - impulse = -10. + i = int(floor(random()*win_s)) + impulse = -.1 f = fft(win_s) timegrain = fvec(win_s) + timegrain[0] = 0 timegrain[i] = impulse fftgrain = f ( timegrain ) #self.plot_this ( fftgrain.phas ) - assert_almost_equal ( fftgrain.norm, abs(impulse), decimal = 6 ) + assert_almost_equal ( fftgrain.norm, abs(impulse), decimal = 5 ) if impulse < 0: # phase can be pi or -pi, as it is not unwrapped - assert_almost_equal ( abs(fftgrain.phas[1:-1]) , pi, decimal = 6 ) + #assert_almost_equal ( abs(fftgrain.phas[1:-1]) , pi, decimal = 6 ) assert_almost_equal ( fftgrain.phas[0], pi, decimal = 6) - assert_almost_equal ( fftgrain.phas[-1], pi, decimal = 6) + assert_almost_equal ( np.fmod(fftgrain.phas[-1], pi), 0, decimal = 6) else: - assert_equal ( fftgrain.phas[1:-1] == 0, True) - assert_equal ( fftgrain.phas[0] == 0, True) - assert_equal ( fftgrain.phas[-1] == 0, True) + #assert_equal ( fftgrain.phas[1:-1] == 0, True) + assert_equal ( fftgrain.phas[0], 0) + assert_almost_equal ( np.fmod(fftgrain.phas[-1], pi), 0, decimal = 6) # now check the resynthesis synthgrain = f.rdo ( fftgrain ) #self.plot_this ( fftgrain.phas.T ) @@ -95,7 +95,6 @@ class aubio_fft_test_case(TestCase): def test_rdo_before_do(self): """ check running fft.rdo before fft.do works """ win_s = 1024 - impulse = pi f = fft(win_s) fftgrain = cvec(win_s) t = f.rdo( fftgrain ) @@ -177,7 +176,7 @@ class aubio_fft_wrong_params(TestCase): try: with self.assertRaises(RuntimeError): fft(win_s) - except AssertionError as e: + except AssertionError: self.skipTest('creating aubio.fft with size %d did not fail' % win_s) def test_buf_size_too_small(self): @@ -186,5 +185,4 @@ class aubio_fft_wrong_params(TestCase): fft(win_s) if __name__ == '__main__': - from nose2 import main main() diff --git a/python/tests/test_filter.py b/python/tests/test_filter.py index c00b38c7..eae8c18a 100755 --- a/python/tests/test_filter.py +++ b/python/tests/test_filter.py @@ -1,8 +1,8 @@ #! /usr/bin/env python +from unittest import main from numpy.testing import TestCase, assert_equal, assert_almost_equal from aubio import fvec, digital_filter -from numpy import array from utils import array_from_text_file class aubio_filter_test_case(TestCase): @@ -84,5 +84,4 @@ class aubio_filter_wrong_params(TestCase): digital_filter(-1) if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_filterbank.py b/python/tests/test_filterbank.py index 4bc70fb2..cc6e66ef 100755 --- a/python/tests/test_filterbank.py +++ b/python/tests/test_filterbank.py @@ -1,5 +1,6 @@ #! /usr/bin/env python +from unittest import main from numpy.testing import TestCase from numpy.testing import assert_equal, assert_almost_equal import numpy as np @@ -80,6 +81,4 @@ class aubio_filterbank_wrong_values(TestCase): f(cvec(256)) if __name__ == '__main__': - from nose2 import main main() - diff --git a/python/tests/test_filterbank_mel.py b/python/tests/test_filterbank_mel.py index 79aff81f..1ce38e9c 100755 --- a/python/tests/test_filterbank_mel.py +++ b/python/tests/test_filterbank_mel.py @@ -1,51 +1,49 @@ #! /usr/bin/env python -from numpy.testing import TestCase, run_module_suite +from unittest import main +from numpy.testing import TestCase from numpy.testing import assert_equal, assert_almost_equal from numpy import array, shape from aubio import cvec, filterbank, float_type class aubio_filterbank_mel_test_case(TestCase): - def test_slaney(self): - f = filterbank(40, 512) - f.set_mel_coeffs_slaney(16000) - a = f.get_coeffs() - assert_equal(shape (a), (40, 512/2 + 1) ) - - def test_other_slaney(self): - f = filterbank(40, 512*2) - f.set_mel_coeffs_slaney(44100) - a = f.get_coeffs() - #print "sum is", sum(sum(a)) - for win_s in [256, 512, 1024, 2048, 4096]: - f = filterbank(40, win_s) - f.set_mel_coeffs_slaney(320000) - a = f.get_coeffs() - #print "sum is", sum(sum(a)) - - def test_triangle_freqs_zeros(self): - f = filterbank(9, 1024) - freq_list = [40, 80, 200, 400, 800, 1600, 3200, 6400, 12800, 15000, 24000] - freqs = array(freq_list, dtype = float_type) - f.set_triangle_bands(freqs, 48000) - f.get_coeffs().T - assert_equal ( f(cvec(1024)), 0) - - def test_triangle_freqs_ones(self): - f = filterbank(9, 1024) - freq_list = [40, 80, 200, 400, 800, 1600, 3200, 6400, 12800, 15000, 24000] - freqs = array(freq_list, dtype = float_type) - f.set_triangle_bands(freqs, 48000) - f.get_coeffs().T - spec = cvec(1024) - spec.norm[:] = 1 - assert_almost_equal ( f(spec), - [ 0.02070313, 0.02138672, 0.02127604, 0.02135417, - 0.02133301, 0.02133301, 0.02133311, 0.02133334, 0.02133345]) + def test_slaney(self): + f = filterbank(40, 512) + f.set_mel_coeffs_slaney(16000) + a = f.get_coeffs() + assert_equal(shape (a), (40, 512/2 + 1) ) + + def test_other_slaney(self): + f = filterbank(40, 512*2) + f.set_mel_coeffs_slaney(44100) + _ = f.get_coeffs() + #print "sum is", sum(sum(a)) + for win_s in [256, 512, 1024, 2048, 4096]: + f = filterbank(40, win_s) + f.set_mel_coeffs_slaney(32000) + _ = f.get_coeffs() + #print "sum is", sum(sum(a)) + + def test_triangle_freqs_zeros(self): + f = filterbank(9, 1024) + freq_list = [40, 80, 200, 400, 800, 1600, 3200, 6400, 12800, 15000, 24000] + freqs = array(freq_list, dtype = float_type) + f.set_triangle_bands(freqs, 48000) + _ = f.get_coeffs().T + assert_equal ( f(cvec(1024)), 0) + + def test_triangle_freqs_ones(self): + f = filterbank(9, 1024) + freq_list = [40, 80, 200, 400, 800, 1600, 3200, 6400, 12800, 15000, 24000] + freqs = array(freq_list, dtype = float_type) + f.set_triangle_bands(freqs, 48000) + _ = f.get_coeffs().T + spec = cvec(1024) + spec.norm[:] = 1 + assert_almost_equal ( f(spec), + [ 0.02070313, 0.02138672, 0.02127604, 0.02135417, + 0.02133301, 0.02133301, 0.02133311, 0.02133334, 0.02133345]) if __name__ == '__main__': - from unittest import main - main() - - + main() diff --git a/python/tests/test_fvec.py b/python/tests/test_fvec.py index 48b89ee2..4ea55332 100755 --- a/python/tests/test_fvec.py +++ b/python/tests/test_fvec.py @@ -1,5 +1,6 @@ #! /usr/bin/env python +from unittest import main import numpy as np from numpy.testing import TestCase, assert_equal, assert_almost_equal from aubio import fvec, zero_crossing_rate, alpha_norm, min_removal @@ -49,7 +50,7 @@ class aubio_fvec_wrong_values(TestCase): """ test creating fvec with negative length fails (pure python) """ self.assertRaises(ValueError, fvec, -10) - def test_negative_length(self): + def test_zero_length(self): """ test creating fvec with zero length fails (pure python) """ self.assertRaises(ValueError, fvec, 0) @@ -128,7 +129,7 @@ class aubio_fvec_test_memory(TestCase): def test_pass_to_numpy(self): a = fvec(10) - a = 1. + a[:] = 1. b = a del a assert_equal(b, 1.) @@ -139,5 +140,4 @@ class aubio_fvec_test_memory(TestCase): del c if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_mathutils.py b/python/tests/test_mathutils.py index 8de9a9d4..afdfd6af 100755 --- a/python/tests/test_mathutils.py +++ b/python/tests/test_mathutils.py @@ -1,5 +1,6 @@ #! /usr/bin/env python +from unittest import main from numpy.testing import TestCase, assert_equal from numpy import array, arange, isnan, isinf from aubio import bintomidi, miditobin, freqtobin, bintofreq, freqtomidi, miditofreq @@ -23,13 +24,12 @@ class aubio_mathutils(TestCase): a[:] = 4. unwrap2pi(a) a = pi/100. * arange(-600,600).astype("float") - b = unwrap2pi (a) + unwrap2pi(a) #print zip(a, b) - try: - print (unwrap2pi(["23.","24.",25.])) - except Exception as e: - pass + def test_unwrap2pi_fails_on_list(self): + with self.assertRaises(TypeError): + unwrap2pi(["23.","24.",25.]) def test_unwrap2pi_takes_fvec(self): a = fvec(10) @@ -101,5 +101,4 @@ class aubio_mathutils(TestCase): assert_equal ( array(b) < 0, False ) if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_mfcc.py b/python/tests/test_mfcc.py index e0e0fb8b..6e63f332 100755 --- a/python/tests/test_mfcc.py +++ b/python/tests/test_mfcc.py @@ -1,16 +1,16 @@ #! /usr/bin/env python -from numpy.testing import TestCase, assert_equal, assert_almost_equal -from numpy import random, arange, log, zeros, count_nonzero +from nose2 import main +from nose2.tools import params +from numpy import random, count_nonzero +from numpy.testing import TestCase from aubio import mfcc, cvec, float_type -from math import pi buf_size = 2048 n_filters = 40 n_coeffs = 13 samplerate = 44100 -from nose2.tools import params new_params = ['buf_size', 'n_filters', 'n_coeffs', 'samplerate'] new_deflts = [1024, 40, 13, 44100] @@ -101,10 +101,9 @@ class aubio_mfcc_all_parameters(TestCase): o = mfcc(buf_size, n_filters, n_coeffs, samplerate) spec = cvec(buf_size) spec.phas[0] = 0.2 - for i in range(10): - coeffs = o(spec) + for _ in range(10): + o(spec) #print coeffs if __name__ == '__main__': - import nose2 - nose2.main() + main() diff --git a/python/tests/test_midi2note.py b/python/tests/test_midi2note.py index ce854bfb..1c2ccf5b 100755 --- a/python/tests/test_midi2note.py +++ b/python/tests/test_midi2note.py @@ -27,7 +27,7 @@ class midi2note_wrong_values(unittest.TestCase): " fails when passed a negative value " self.assertRaises(ValueError, midi2note, -2) - def test_midi2note_negative_value(self): + def test_midi2note_large(self): " fails when passed a value greater than 127 " self.assertRaises(ValueError, midi2note, 128) diff --git a/python/tests/test_musicutils.py b/python/tests/test_musicutils.py index c0c81dc4..dd54abb3 100755 --- a/python/tests/test_musicutils.py +++ b/python/tests/test_musicutils.py @@ -1,12 +1,10 @@ #! /usr/bin/env python +from unittest import main +import numpy as np from numpy.testing import TestCase from numpy.testing.utils import assert_equal, assert_almost_equal -from numpy import cos, arange -from math import pi - from aubio import window, level_lin, db_spl, silence_detection, level_detection - from aubio import fvec, float_type class aubio_window(TestCase): @@ -25,7 +23,7 @@ class aubio_window(TestCase): def test_compute_hanning_1024(self): size = 1024 aubio_window = window("hanning", size) - numpy_window = .5 - .5 * cos(2. * pi * arange(size) / size) + numpy_window = .5 - .5 * np.cos(2. * np.pi * np.arange(size) / size) assert_almost_equal(aubio_window, numpy_window) class aubio_level_lin(TestCase): @@ -33,54 +31,38 @@ class aubio_level_lin(TestCase): level_lin(fvec(1024)) def test_fail_not_fvec(self): - try: + with self.assertRaises(ValueError): level_lin("default") - except ValueError as e: - pass - else: - self.fail('non-number input phase does not raise a TypeError') def test_zeros_is_zeros(self): assert_equal(level_lin(fvec(1024)), 0.) def test_minus_ones_is_one(self): - from numpy import ones - assert_equal(level_lin(-ones(1024, dtype = float_type)), 1.) + assert_equal(level_lin(-np.ones(1024, dtype = float_type)), 1.) class aubio_db_spl(TestCase): def test_accept_fvec(self): db_spl(fvec(1024)) def test_fail_not_fvec(self): - try: + with self.assertRaises(ValueError): db_spl("default") - except ValueError as e: - pass - else: - self.fail('non-number input phase does not raise a TypeError') def test_zeros_is_inf(self): - from math import isinf - assert isinf(db_spl(fvec(1024))) + assert np.isinf(db_spl(fvec(1024))) def test_minus_ones_is_zero(self): - from numpy import ones - assert_equal(db_spl(-ones(1024, dtype = float_type)), 0.) + assert_equal(db_spl(-np.ones(1024, dtype = float_type)), 0.) class aubio_silence_detection(TestCase): def test_accept_fvec(self): silence_detection(fvec(1024), -70.) def test_fail_not_fvec(self): - try: + with self.assertRaises(ValueError): silence_detection("default", -70) - except ValueError as e: - pass - else: - self.fail('non-number input phase does not raise a TypeError') def test_zeros_is_one(self): - from math import isinf assert silence_detection(fvec(1024), -70) == 1 def test_minus_ones_is_zero(self): @@ -92,15 +74,10 @@ class aubio_level_detection(TestCase): level_detection(fvec(1024), -70.) def test_fail_not_fvec(self): - try: + with self.assertRaises(ValueError): level_detection("default", -70) - except ValueError as e: - pass - else: - self.fail('non-number input phase does not raise a TypeError') def test_zeros_is_one(self): - from math import isinf assert level_detection(fvec(1024), -70) == 1 def test_minus_ones_is_zero(self): @@ -108,5 +85,4 @@ class aubio_level_detection(TestCase): assert level_detection(ones(1024, dtype = float_type), -70) == 0 if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_note2midi.py b/python/tests/test_note2midi.py index 72884f02..968c34a8 100755 --- a/python/tests/test_note2midi.py +++ b/python/tests/test_note2midi.py @@ -58,8 +58,8 @@ class note2midi_wrong_values(unittest.TestCase): " fails when passed a note with a wrong name" self.assertRaises(ValueError, note2midi, 'W9') - def test_note2midi_wrong_octave(self): - " fails when passed a note with a wrong octave" + def test_note2midi_low_octave(self): + " fails when passed a note with a too low octave" self.assertRaises(ValueError, note2midi, 'C-9') def test_note2midi_wrong_data_type(self): diff --git a/python/tests/test_onset.py b/python/tests/test_onset.py index 81bf2489..dcb6dabc 100755 --- a/python/tests/test_onset.py +++ b/python/tests/test_onset.py @@ -1,7 +1,7 @@ #! /usr/bin/env python -from numpy.testing import TestCase, run_module_suite -from numpy.testing import assert_equal, assert_almost_equal +from unittest import main +from numpy.testing import TestCase, assert_equal, assert_almost_equal from aubio import onset class aubio_onset_default(TestCase): @@ -84,5 +84,4 @@ class aubio_onset_8000(aubio_onset_params): samplerate = 8000 if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_phasevoc.py b/python/tests/test_phasevoc.py index 311e0899..23cbad5e 100755 --- a/python/tests/test_phasevoc.py +++ b/python/tests/test_phasevoc.py @@ -2,6 +2,7 @@ from numpy.testing import TestCase, assert_equal, assert_array_less from aubio import fvec, cvec, pvoc, float_type +from nose2 import main from nose2.tools import params import numpy as np @@ -40,7 +41,7 @@ class aubio_pvoc_test_case(TestCase): win_s, hop_s = 1024, 256 f = pvoc (win_s, hop_s) t = fvec (hop_s) - for time in range( int ( 4 * win_s / hop_s ) ): + for _ in range( int ( 4 * win_s / hop_s ) ): s = f(t) r = f.rdo(s) assert_equal ( t, 0.) @@ -102,7 +103,7 @@ class aubio_pvoc_test_case(TestCase): f = pvoc(buf_s, hop_s) zeros = fvec(hop_s) r2 = f.rdo( f(sigin) ) - for i in range(1, ratio): + for _ in range(1, ratio): r2 = f.rdo( f(zeros) ) # compute square errors sq_error = (r2 - sigin)**2 @@ -177,11 +178,10 @@ class aubio_pvoc_wrong_params(TestCase): try: with self.assertRaises(RuntimeError): pvoc(win_s, hop_s) - except AssertionError as e: + except AssertionError: # when compiled with fftw3, aubio supports non power of two fft sizes self.skipTest('creating aubio.pvoc with size %d did not fail' % win_s) if __name__ == '__main__': - from nose2 import main main() diff --git a/python/tests/test_pitch.py b/python/tests/test_pitch.py index 8a2f59ca..00c8eea8 100755 --- a/python/tests/test_pitch.py +++ b/python/tests/test_pitch.py @@ -1,9 +1,8 @@ #! /usr/bin/env python -from unittest import TestCase -from numpy.testing import assert_equal, assert_almost_equal -from numpy import random, sin, arange, mean, median, isnan -from math import pi +from unittest import TestCase, main +from numpy.testing import assert_equal +from numpy import sin, arange, mean, median, isnan, pi from aubio import fvec, pitch, freqtomidi, float_type class aubio_pitch_Good_Values(TestCase): @@ -24,14 +23,14 @@ class aubio_pitch_Good_Values(TestCase): " running on silence gives 0 " p = pitch('default', 2048, 512, 32000) f = fvec (512) - for i in range(10): assert_equal (p(f), 0.) + for _ in range(10): assert_equal (p(f), 0.) def test_run_on_ones(self): " running on ones gives 0 " p = pitch('default', 2048, 512, 32000) f = fvec (512) f[:] = 1 - for i in range(10): assert_equal (p(f), 0.) + for _ in range(10): assert_equal (p(f), 0.) class aubio_pitch_Sinusoid(TestCase): @@ -53,7 +52,6 @@ class aubio_pitch_Sinusoid(TestCase): return sin( 2. * pi * arange(length).astype(float_type) * freq / samplerate) def run_pitch(self, p, input_vec, freq): - count = 0 pitches, errors = [], [] input_blocks = input_vec.reshape((-1, p.hop_size)) for new_block in input_blocks: @@ -63,7 +61,7 @@ class aubio_pitch_Sinusoid(TestCase): assert_equal ( len(input_blocks), len(pitches) ) assert_equal ( isnan(pitches), False ) # cut the first candidates - cut = ( p.buf_size - p.hop_size ) / p.hop_size + #cut = ( p.buf_size - p.hop_size ) / p.hop_size pitches = pitches[2:] errors = errors[2:] # check that the mean of all relative errors is less than 10% @@ -124,5 +122,4 @@ for algo in pitch_algorithms: setattr (aubio_pitch_Sinusoid, test_method.__name__, test_method) if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_sink.py b/python/tests/test_sink.py index 24ee9a54..e90b5f87 100755 --- a/python/tests/test_sink.py +++ b/python/tests/test_sink.py @@ -1,9 +1,9 @@ #! /usr/bin/env python -from numpy.testing import TestCase, assert_equal, assert_almost_equal +from nose2 import main from nose2.tools import params +from numpy.testing import TestCase from aubio import fvec, source, sink -from numpy import array from utils import list_all_sounds, get_tmp_sink_path, del_tmp_sink_path list_of_sounds = list_all_sounds('sounds') @@ -37,7 +37,7 @@ class aubio_sink_test_case(TestCase): g = sink(path, 0) sink_list.append(g) write = 32 - for n in range(200): + for _ in range(200): vec = fvec(write) g(vec, write) g.close() @@ -94,5 +94,4 @@ class aubio_sink_test_case(TestCase): del_tmp_sink_path(sink_path) if __name__ == '__main__': - from nose2 import main main() diff --git a/python/tests/test_slicing.py b/python/tests/test_slicing.py index 8151d617..0252f5dd 100755 --- a/python/tests/test_slicing.py +++ b/python/tests/test_slicing.py @@ -1,10 +1,10 @@ #! /usr/bin/env python -from numpy.testing import TestCase, run_module_suite -from numpy.testing import assert_equal, assert_almost_equal - +from unittest import main +from numpy.testing import TestCase, assert_equal from aubio import slice_source_at_stamps -from utils import * +from utils import count_files_in_directory, get_default_test_sound +from utils import count_samples_in_directory, count_samples_in_file import tempfile import shutil @@ -146,5 +146,4 @@ class aubio_slicing_wrong_ends_test_case(TestCase): shutil.rmtree(self.output_dir) if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_source.py b/python/tests/test_source.py index d47a83de..ed51ead0 100755 --- a/python/tests/test_source.py +++ b/python/tests/test_source.py @@ -1,10 +1,10 @@ #! /usr/bin/env python -from numpy.testing import TestCase, assert_equal, assert_almost_equal -from aubio import fvec, source -from numpy import array -from utils import list_all_sounds +from nose2 import main from nose2.tools import params +from numpy.testing import TestCase +from aubio import source +from utils import list_all_sounds list_of_sounds = list_all_sounds('sounds') samplerates = [0, 44100, 8000, 32000] @@ -47,11 +47,11 @@ class aubio_source_read_test_case(aubio_source_test_case_base): def read_from_source(self, f): total_frames = 0 while True: - vec, read = f() + _ , read = f() total_frames += read if read < f.hop_size: break - result_str = "read {:.2f}s ({:d} frames in {:d} blocks at {:d}Hz) from {:s}" - result_params = total_frames / float(f.samplerate), total_frames, total_frames//f.hop_size, f.samplerate, f.uri + #result_str = "read {:.2f}s ({:d} frames in {:d} blocks at {:d}Hz) from {:s}" + #result_params = total_frames / float(f.samplerate), total_frames, total_frames//f.hop_size, f.samplerate, f.uri #print (result_str.format(*result_params)) return total_frames @@ -101,7 +101,7 @@ class aubio_source_read_test_case(aubio_source_test_case_base): f = source(p) duration = f.duration while True: - vec, read = f() + _, read = f() total_frames += read if read < f.hop_size: break self.assertEqual(duration, total_frames) @@ -111,21 +111,21 @@ class aubio_source_test_wrong_params(TestCase): def test_wrong_file(self): with self.assertRaises(RuntimeError): - f = source('path_to/unexisting file.mp3') + source('path_to/unexisting file.mp3') class aubio_source_test_wrong_params_with_file(aubio_source_test_case_base): def test_wrong_samplerate(self): with self.assertRaises(ValueError): - f = source(self.default_test_sound, -1) + source(self.default_test_sound, -1) def test_wrong_hop_size(self): with self.assertRaises(ValueError): - f = source(self.default_test_sound, 0, -1) + source(self.default_test_sound, 0, -1) def test_wrong_channels(self): with self.assertRaises(ValueError): - f = source(self.default_test_sound, 0, 0, -1) + source(self.default_test_sound, 0, 0, -1) def test_wrong_seek(self): f = source(self.default_test_sound) @@ -137,7 +137,7 @@ class aubio_source_test_wrong_params_with_file(aubio_source_test_case_base): try: with self.assertRaises(ValueError): f.seek(f.duration + f.samplerate * 10) - except AssertionError as e: + except AssertionError: self.skipTest('seeking after end of stream failed raising ValueError') class aubio_source_readmulti_test_case(aubio_source_read_test_case): @@ -145,14 +145,13 @@ class aubio_source_readmulti_test_case(aubio_source_read_test_case): def read_from_source(self, f): total_frames = 0 while True: - vec, read = f.do_multi() + _, read = f.do_multi() total_frames += read if read < f.hop_size: break - result_str = "read {:.2f}s ({:d} frames in {:d} channels and {:d} blocks at {:d}Hz) from {:s}" - result_params = total_frames / float(f.samplerate), total_frames, f.channels, int(total_frames/f.hop_size), f.samplerate, f.uri + #result_str = "read {:.2f}s ({:d} frames in {:d} channels and {:d} blocks at {:d}Hz) from {:s}" + #result_params = total_frames / float(f.samplerate), total_frames, f.channels, int(total_frames/f.hop_size), f.samplerate, f.uri #print (result_str.format(*result_params)) return total_frames if __name__ == '__main__': - from nose2 import main main() diff --git a/python/tests/test_specdesc.py b/python/tests/test_specdesc.py index 86632003..d5d58f63 100755 --- a/python/tests/test_specdesc.py +++ b/python/tests/test_specdesc.py @@ -1,9 +1,9 @@ #! /usr/bin/env python +from unittest import main from numpy.testing import TestCase, assert_equal, assert_almost_equal from numpy import random, arange, log, zeros from aubio import specdesc, cvec, float_type -from math import pi methods = ["default", "energy", @@ -29,31 +29,18 @@ class aubio_specdesc(TestCase): o = specdesc() for method in methods: - o = specdesc(method, buf_size) - assert_equal ([o.buf_size, o.method], [buf_size, method]) - - spec = cvec(buf_size) - spec.norm[0] = 1 - spec.norm[1] = 1./2. - #print "%20s" % method, str(o(spec)) - o(spec) - spec.norm = random.random_sample((len(spec.norm),)).astype(float_type) - spec.phas = random.random_sample((len(spec.phas),)).astype(float_type) - #print "%20s" % method, str(o(spec)) - assert (o(spec) != 0.) - - def test_hfc(self): - o = specdesc("hfc", buf_size) - spec = cvec(buf_size) - # hfc of zeros is zero - assert_equal (o(spec), 0.) - # hfc of ones is sum of all bin numbers - spec.norm[:] = 1 - expected = sum(range(buf_size/2 + 2)) - assert_equal (o(spec), expected) - # changing phase doesn't change anything - spec.phas[:] = 1 - assert_equal (o(spec), sum(range(buf_size/2 + 2))) + o = specdesc(method, buf_size) + assert_equal ([o.buf_size, o.method], [buf_size, method]) + + spec = cvec(buf_size) + spec.norm[0] = 1 + spec.norm[1] = 1./2. + #print "%20s" % method, str(o(spec)) + o(spec) + spec.norm = random.random_sample((len(spec.norm),)).astype(float_type) + spec.phas = random.random_sample((len(spec.phas),)).astype(float_type) + #print "%20s" % method, str(o(spec)) + assert (o(spec) != 0.) def test_phase(self): o = specdesc("phase", buf_size) @@ -222,13 +209,12 @@ class aubio_specdesc(TestCase): c = cvec() assert_equal( 0., o(c)) a = arange(c.length * 2, 0, -2, dtype=float_type) - k = arange(c.length, dtype=float_type) c.norm = a cumsum = .95*sum(a*a) i = 0; rollsum = 0 while rollsum < cumsum: - rollsum += a[i]*a[i] - i+=1 + rollsum += a[i]*a[i] + i+=1 rolloff = i assert_equal (rolloff, o(c)) @@ -236,14 +222,13 @@ class aubio_specdesc_wrong(TestCase): def test_negative(self): with self.assertRaises(ValueError): - o = specdesc("default", -10) + specdesc("default", -10) def test_unknown(self): # FIXME should fail? with self.assertRaises(ValueError): - o = specdesc("unknown", 512) + specdesc("unknown", 512) self.skipTest('todo: new_specdesc should fail on wrong method') if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/test_zero_crossing_rate.py b/python/tests/test_zero_crossing_rate.py index b7b9965d..7f6d479c 100755 --- a/python/tests/test_zero_crossing_rate.py +++ b/python/tests/test_zero_crossing_rate.py @@ -1,7 +1,7 @@ #! /usr/bin/env python +from unittest import main from numpy.testing import TestCase - from aubio import fvec, zero_crossing_rate buf_size = 2048 @@ -43,5 +43,4 @@ class zero_crossing_rate_test_case(TestCase): self.assertEqual(2./buf_size, zero_crossing_rate(self.vector)) if __name__ == '__main__': - from unittest import main main() diff --git a/python/tests/utils.py b/python/tests/utils.py index 6d98c14e..4e4ac71d 100644 --- a/python/tests/utils.py +++ b/python/tests/utils.py @@ -1,16 +1,18 @@ #! /usr/bin/env python +import os +import glob +import numpy as np +from tempfile import mkstemp + def array_from_text_file(filename, dtype = 'float'): - import os.path - from numpy import array filename = os.path.join(os.path.dirname(__file__), filename) with open(filename) as f: lines = f.readlines() - return array([line.split() for line in lines], + return np.array([line.split() for line in lines], dtype = dtype) def list_all_sounds(rel_dir): - import os.path, glob datadir = os.path.join(os.path.dirname(__file__), rel_dir) return glob.glob(os.path.join(datadir,'*.*')) @@ -22,14 +24,11 @@ def get_default_test_sound(TestCase, rel_dir = 'sounds'): return all_sounds[0] def get_tmp_sink_path(): - from tempfile import mkstemp - import os fd, path = mkstemp() os.close(fd) return path def del_tmp_sink_path(path): - import os os.unlink(path) def array_from_yaml_file(filename): @@ -45,13 +44,12 @@ def count_samples_in_file(file_path): s = source(file_path, 0, hopsize) total_frames = 0 while True: - samples, read = s() + _, read = s() total_frames += read if read < hopsize: break return total_frames def count_samples_in_directory(samples_dir): - import os total_frames = 0 for f in os.walk(samples_dir): if len(f[2]): @@ -62,7 +60,6 @@ def count_samples_in_directory(samples_dir): return total_frames def count_files_in_directory(samples_dir): - import os total_files = 0 for f in os.walk(samples_dir): if len(f[2]): -- 2.11.0