changeset 255:0a5f9566b069

Add tests for AudioRegion.split
author Amine Sehili <amine.sehili@gmail.com>
date Mon, 02 Sep 2019 22:17:29 +0100
parents 1f04ffd132ae
children 6dcfe7bf1c94
files tests/test_core.py
diffstat 1 files changed, 61 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test_core.py	Sun Sep 01 09:10:52 2019 +0100
+++ b/tests/test_core.py	Mon Sep 02 22:17:29 2019 +0100
@@ -168,16 +168,33 @@
             ch=1,
             **kwargs
         )
+
+        region = AudioRegion(data, 10, 2, 1)
+        regions_ar = region.split(
+            min_dur,
+            max_dur,
+            max_silence,
+            drop_trailing_silence,
+            strict_min_dur,
+            analysis_window=0.1,
+            **kwargs
+        )
+
         regions = list(regions)
+        regions_ar = list(regions_ar)
         err_msg = "Wrong number of regions after split, expected: "
         err_msg += "{}, found: {}".format(len(expected), len(regions))
         self.assertEqual(len(regions), len(expected), err_msg)
+        err_msg = "Wrong number of regions after AudioRegion.split, expected: "
+        err_msg += "{}, found: {}".format(len(expected), len(regions_ar))
+        self.assertEqual(len(regions_ar), len(expected), err_msg)
 
         sample_width = 2
-        for reg, exp in zip(regions, expected):
+        for reg, reg_ar, exp in zip(regions, regions_ar, expected):
             onset, offset = exp
             exp_data = data[onset * sample_width : offset * sample_width]
             self.assertEqual(bytes(reg), exp_data)
+            self.assertEqual(reg, reg_ar)
 
     @genty_dataset(
         stereo_all_default=(2, {}, [(2, 32), (34, 76)]),
@@ -248,18 +265,36 @@
             ch=channels,
             **kwargs
         )
+
+        region = AudioRegion(data, 10, 2, channels)
+        regions_ar = region.split(
+            min_dur=0.2,
+            max_dur=5,
+            max_silence=0.2,
+            drop_trailing_silence=False,
+            strict_min_dur=False,
+            analysis_window=0.1,
+            **kwargs
+        )
+
         regions = list(regions)
-        sample_width = 2
+        regions_ar = list(regions_ar)
         err_msg = "Wrong number of regions after split, expected: "
         err_msg += "{}, found: {}".format(len(expected), len(regions))
         self.assertEqual(len(regions), len(expected), err_msg)
+        err_msg = "Wrong number of regions after AudioRegion.split, expected: "
+        err_msg += "{}, found: {}".format(len(expected), len(regions_ar))
+        self.assertEqual(len(regions_ar), len(expected), err_msg)
+
+        sample_width = 2
         sample_size_bytes = sample_width * channels
-        for reg, exp in zip(regions, expected):
+        for reg, reg_ar, exp in zip(regions, regions_ar, expected):
             onset, offset = exp
             exp_data = data[
                 onset * sample_size_bytes : offset * sample_size_bytes
             ]
             self.assertEqual(len(bytes(reg)), len(exp_data))
+            self.assertEqual(reg, reg_ar)
 
     @genty_dataset(
         mono_aw_0_2_max_silence_0_2=(
@@ -557,23 +592,35 @@
             ch=channels,
             **kwargs
         )
+
+        region = AudioRegion(data, 10, 2, channels)
+        regions_ar = region.split(
+            min_dur=min_dur,
+            max_dur=max_dur,
+            max_silence=max_silence,
+            drop_trailing_silence=False,
+            strict_min_dur=False,
+            **kwargs
+        )
+
         regions = list(regions)
+        regions_ar = list(regions_ar)
+        err_msg = "Wrong number of regions after split, expected: "
+        err_msg += "{}, found: {}".format(len(expected), len(regions))
+        self.assertEqual(len(regions), len(expected), err_msg)
+        err_msg = "Wrong number of regions after AudioRegion.split, expected: "
+        err_msg += "{}, found: {}".format(len(expected), len(regions_ar))
+        self.assertEqual(len(regions_ar), len(expected), err_msg)
+
         sample_width = 2
-        import numpy as np
-
-        err_msg = "Wrong number of regions after split, expected: "
-        err_msg += "{}, found: {}".format(expected, regions)
-        self.assertEqual(len(regions), len(expected), err_msg)
-        for reg, exp in zip(regions, expected):
+        sample_size_bytes = sample_width * channels
+        for reg, reg_ar, exp in zip(regions, regions_ar, expected):
             onset, offset = exp
             exp_data = data[
-                onset
-                * sample_width
-                * channels : offset
-                * sample_width
-                * channels
+                onset * sample_size_bytes : offset * sample_size_bytes
             ]
             self.assertEqual(bytes(reg), exp_data)
+            self.assertEqual(reg, reg_ar)
 
     @genty_dataset(
         filename_audio_format=(