changeset 145:85d26e96d259

Add tests for _get_audio_parameters
author Amine Sehili <amine.sehili@gmail.com>
date Tue, 19 Feb 2019 20:18:45 +0100
parents fae263792c2e
children daeb73d16dbf
files auditok/io.py tests/test_io.py
diffstat 2 files changed, 49 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/auditok/io.py	Fri Feb 18 16:10:48 2028 +0100
+++ b/auditok/io.py	Tue Feb 19 20:18:45 2019 +0100
@@ -145,9 +145,7 @@
         ("sample_width", "sw"),
         ("channels", "ch"),
     ):
-        param = param_dict.get(long_name, None) or param_dict.get(
-            short_name, None
-        )
+        param = param_dict.get(long_name, param_dict.get(short_name))
         if param is None or not isinstance(param, int):
             raise AudioParameterError(
                 err_message.format(ln=long_name, sn=short_name, val=param)
--- a/tests/test_io.py	Fri Feb 18 16:10:48 2028 +0100
+++ b/tests/test_io.py	Tue Feb 19 20:18:45 2019 +0100
@@ -128,6 +128,54 @@
         self.assertEqual(result, expected)
 
     @genty_dataset(
+        simple=((8000, 2, 1, 0), (8000, 2, 1, 0)),
+        use_channel_left=((8000, 2, 1, "left"), (8000, 2, 1, 0)),
+        use_channel_right=((8000, 2, 1, "right"), (8000, 2, 1, 1)),
+        use_channel_mix=((8000, 2, 1, "mix"), (8000, 2, 1, "mix")),
+        use_channel_None=((8000, 2, 2, None), (8000, 2, 2, 0)),
+        no_use_channel=((8000, 2, 2), (8000, 2, 2, 0)),
+    )
+    def test_get_audio_parameters_short_params(self, values, expected):
+        params = {k: v for k, v in zip(("sr", "sw", "ch", "uc"), values)}
+        result = _get_audio_parameters(params)
+        self.assertEqual(result, expected)
+
+    @genty_dataset(
+        simple=((8000, 2, 1, 0), (8000, 2, 1, 0)),
+        use_channel_left=((8000, 2, 1, "left"), (8000, 2, 1, 0)),
+        use_channel_right=((8000, 2, 1, "right"), (8000, 2, 1, 1)),
+        use_channel_mix=((8000, 2, 1, "mix"), (8000, 2, 1, "mix")),
+        use_channel_None=((8000, 2, 2, None), (8000, 2, 2, 0)),
+        no_use_channel=((8000, 2, 2), (8000, 2, 2, 0)),
+    )
+    def test_get_audio_parameters_long_params(self, values, expected):
+        params = {
+            k: v
+            for k, v in zip(
+                ("sampling_rate", "sample_width", "channels", "use_channel"),
+                values,
+            )
+        }
+        result = _get_audio_parameters(params)
+        self.assertEqual(result, expected)
+
+    @genty_dataset(simple=((8000, 2, 1, 0), (8000, 2, 1, 0)))
+    def test_get_audio_parameters_short_and_long_params(
+        self, values, expected
+    ):
+        params = {
+            k: v
+            for k, v in zip(
+                ("sampling_rate", "sample_width", "channels", "use_channel"),
+                values,
+            )
+        }
+
+        params.update({k: v for k, v in zip(("sr", "sw", "ch", "uc"), "xxxx")})
+        result = _get_audio_parameters(params)
+        self.assertEqual(result, expected)
+
+    @genty_dataset(
         mono_1byte=([400], 1),
         stereo_1byte=([400, 600], 1),
         three_channel_1byte=([400, 600, 2400], 1),