From c09efcaa6cbfc971096cd8ef40bf2726f42d3638 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Fri, 13 May 2016 17:58:02 +0200 Subject: [PATCH] python/tests/test_cvec.py: add more tests --- python/tests/test_cvec.py | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/python/tests/test_cvec.py b/python/tests/test_cvec.py index 5a6ed9e6..80232eb5 100755 --- a/python/tests/test_cvec.py +++ b/python/tests/test_cvec.py @@ -5,6 +5,8 @@ from numpy.testing import assert_equal, assert_almost_equal from aubio import cvec, fvec, float_type import numpy as np +wrong_type = 'float32' if float_type == 'float64' else 'float64' + class aubio_cvec_test_case(TestCase): def test_vector_created_with_zeroes(self): @@ -49,8 +51,8 @@ class aubio_cvec_test_case(TestCase): def test_assign_cvec_with_other_cvec(self): """ check dest cvec is still reachable after source was deleted """ spec = cvec(1024) - a = np.random.rand(1024/2+1).astype(float_type) - b = np.random.rand(1024/2+1).astype(float_type) + a = np.random.rand(1024//2+1).astype(float_type) + b = np.random.rand(1024//2+1).astype(float_type) spec.norm = a spec.phas = b new_spec = spec @@ -102,6 +104,43 @@ class aubio_cvec_test_case(TestCase): with self.assertRaises(ValueError): a.phas = b + def test_cvec_repr(self): + win_s = 512 + c = cvec(win_s) + expected_repr = "aubio cvec of {:d} elements".format(win_s//2+1) + self.assertEqual(repr(c), expected_repr) + +class aubio_cvec_wrong_norm_input(TestCase): + + def test_wrong_length(self): + with self.assertRaises(ValueError): + cvec(-1) + + def test_set_norm_with_scalar(self): + a = cvec(512) + with self.assertRaises(ValueError): + a.norm = 1 + + def test_set_norm_with_scalar_array(self): + a = cvec(512) + with self.assertRaises(ValueError): + a.norm = np.ndarray(1, dtype = 'int') + + def test_set_norm_with_int_array(self): + a = cvec(512) + with self.assertRaises(ValueError): + a.norm = np.zeros(512//2+1, dtype = 'int') + + def test_set_norm_with_wrong_float_array(self): + a = cvec(512) + with self.assertRaises(ValueError): + a.norm = np.zeros(512//2+1, dtype = wrong_type) + + def test_set_norm_with_wrong_2d_array(self): + a = cvec(512) + with self.assertRaises(ValueError): + a.norm = np.zeros((512//2+1, 2), dtype = float_type) + if __name__ == '__main__': from nose2 import main main() -- 2.11.0