comparison tests/test_util.py @ 361:6b65d8a1e954

Add tests for make_channel_selector with any channel
author Amine Sehili <amine.sehili@gmail.com>
date Fri, 03 Apr 2020 21:38:54 +0200
parents 5133fdc926fb
children 323d59b404a2
comparison
equal deleted inserted replaced
360:5133fdc926fb 361:6b65d8a1e954
189 if channels in (1, 2): 189 if channels in (1, 2):
190 self.assertEqual(result_numpy, expected) 190 self.assertEqual(result_numpy, expected)
191 else: 191 else:
192 self.assertTrue(all(result_numpy == expected)) 192 self.assertTrue(all(result_numpy == expected))
193 193
194 # def test_make_channel_selector_any( 194 @genty_dataset(
195 # self, sample_width, channels, selected, expected 195 int8_1channel=(
196 # ): 196 1,
197 # pass 197 1,
198 "any",
199 [[48, 49, 50, 51, 52, 53, 54, 55, 57, 65, 66, 67]],
200 ),
201 int8_2channel=(
202 1,
203 2,
204 None,
205 [[48, 50, 52, 54, 57, 66], [49, 51, 53, 55, 65, 67]],
206 ),
207 int8_4channel=(
208 1,
209 4,
210 "any",
211 [[48, 52, 57], [49, 53, 65], [50, 54, 66], [51, 55, 67]],
212 ),
213 int16_2channel=(
214 2,
215 2,
216 None,
217 [[12592, 13620, 16697], [13106, 14134, 17218]],
218 ),
219 int32_3channel=(4, 3, "any", [[858927408], [926299444], [1128415545]]),
220 )
221 def test_make_channel_selector_any(
222 self, sample_width, channels, selected, expected
223 ):
224
225 # force using signal functions with standard python implementation
226 with patch("auditok.util.signal", signal_):
227 selector = make_channel_selector(sample_width, channels, selected)
228 result = selector(self.data)
229
230 fmt = signal_.FORMAT[sample_width]
231 expected = [array_(fmt, exp) for exp in expected]
232 if channels == 1:
233 expected = bytes(expected[0])
234 self.assertEqual(result, expected)
235
236 # Use signal functions with numpy implementation
237 with patch("auditok.util.signal", signal_numpy):
238 selector = make_channel_selector(sample_width, channels, selected)
239 result_numpy = selector(self.data)
240
241 if channels == 1:
242 self.assertEqual(result_numpy, expected)
243 else:
244 self.assertTrue((result_numpy == expected).all())
198 245
199 246
200 @genty 247 @genty
201 class TestAudioEnergyValidator(TestCase): 248 class TestAudioEnergyValidator(TestCase):
202 @genty_dataset( 249 @genty_dataset(