author Paul Brossier Fri, 13 May 2016 15:58:02 +0000 (17:58 +0200) committer Paul Brossier Fri, 13 May 2016 15:58:02 +0000 (17:58 +0200)

index 5a6ed9e..80232eb 100755 (executable)
@@ -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()