Mercurial > hg > auditok
comparison tests/test_io.py @ 321:903b5e1e8af9
Clean up tests
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Sat, 19 Oct 2019 15:01:38 +0100 |
parents | 10b725735637 |
children | 9f17aa9a4018 |
comparison
equal
deleted
inserted
replaced
320:06a39e279cd7 | 321:903b5e1e8af9 |
---|---|
6 import filecmp | 6 import filecmp |
7 from unittest import TestCase | 7 from unittest import TestCase |
8 from unittest.mock import patch, Mock | 8 from unittest.mock import patch, Mock |
9 from genty import genty, genty_dataset | 9 from genty import genty, genty_dataset |
10 from test_util import _sample_generator, _generate_pure_tone, PURE_TONE_DICT | 10 from test_util import _sample_generator, _generate_pure_tone, PURE_TONE_DICT |
11 from auditok.signal import FORMAT | |
11 from auditok.io import ( | 12 from auditok.io import ( |
12 DATA_FORMAT, | |
13 AudioIOError, | 13 AudioIOError, |
14 AudioParameterError, | 14 AudioParameterError, |
15 BufferAudioSource, | 15 BufferAudioSource, |
16 RawAudioSource, | 16 RawAudioSource, |
17 WaveAudioSource, | 17 WaveAudioSource, |
222 self.assertIsInstance(audio_source, expected_class) | 222 self.assertIsInstance(audio_source, expected_class) |
223 self.assertEqual(audio_source.sampling_rate, 16000) | 223 self.assertEqual(audio_source.sampling_rate, 16000) |
224 self.assertEqual(audio_source.sample_width, 2) | 224 self.assertEqual(audio_source.sample_width, 2) |
225 self.assertEqual(audio_source.channels, len(frequencies)) | 225 self.assertEqual(audio_source.channels, len(frequencies)) |
226 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] | 226 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] |
227 fmt = DATA_FORMAT[audio_source.sample_width] | 227 fmt = FORMAT[audio_source.sample_width] |
228 expected = array(fmt, _sample_generator(*mono_channels)).tobytes() | 228 expected = array(fmt, _sample_generator(*mono_channels)).tobytes() |
229 self.assertEqual(data, expected) | 229 self.assertEqual(data, expected) |
230 | 230 |
231 @genty_dataset( | 231 @genty_dataset( |
232 missing_sampling_rate=("sr",), | 232 missing_sampling_rate=("sr",), |
260 self.assertIsInstance(audio_source, expected_class) | 260 self.assertIsInstance(audio_source, expected_class) |
261 self.assertEqual(audio_source.sampling_rate, 16000) | 261 self.assertEqual(audio_source.sampling_rate, 16000) |
262 self.assertEqual(audio_source.sample_width, 2) | 262 self.assertEqual(audio_source.sample_width, 2) |
263 self.assertEqual(audio_source.channels, len(frequencies)) | 263 self.assertEqual(audio_source.channels, len(frequencies)) |
264 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] | 264 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] |
265 fmt = DATA_FORMAT[audio_source.sample_width] | 265 fmt = FORMAT[audio_source.sample_width] |
266 expected = array(fmt, _sample_generator(*mono_channels)).tobytes() | 266 expected = array(fmt, _sample_generator(*mono_channels)).tobytes() |
267 self.assertEqual(data, expected) | 267 self.assertEqual(data, expected) |
268 | 268 |
269 @patch("auditok.io._WITH_PYDUB", True) | 269 @patch("auditok.io._WITH_PYDUB", True) |
270 @patch("auditok.io.BufferAudioSource") | 270 @patch("auditok.io.BufferAudioSource") |
298 three_channel=("3channel_400-800-1600Hz.raw", (400, 800, 1600)), | 298 three_channel=("3channel_400-800-1600Hz.raw", (400, 800, 1600)), |
299 ) | 299 ) |
300 def test_save_raw(self, filename, frequencies): | 300 def test_save_raw(self, filename, frequencies): |
301 filename = "tests/data/test_16KHZ_{}".format(filename) | 301 filename = "tests/data/test_16KHZ_{}".format(filename) |
302 sample_width = 2 | 302 sample_width = 2 |
303 fmt = DATA_FORMAT[sample_width] | 303 fmt = FORMAT[sample_width] |
304 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] | 304 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] |
305 data = array(fmt, _sample_generator(*mono_channels)).tobytes() | 305 data = array(fmt, _sample_generator(*mono_channels)).tobytes() |
306 tmpfile = NamedTemporaryFile() | 306 tmpfile = NamedTemporaryFile() |
307 _save_raw(data, tmpfile.name) | 307 _save_raw(data, tmpfile.name) |
308 self.assertTrue(filecmp.cmp(tmpfile.name, filename, shallow=False)) | 308 self.assertTrue(filecmp.cmp(tmpfile.name, filename, shallow=False)) |
314 def test_save_wave(self, filename, frequencies): | 314 def test_save_wave(self, filename, frequencies): |
315 filename = "tests/data/test_16KHZ_{}".format(filename) | 315 filename = "tests/data/test_16KHZ_{}".format(filename) |
316 sampling_rate = 16000 | 316 sampling_rate = 16000 |
317 sample_width = 2 | 317 sample_width = 2 |
318 channels = len(frequencies) | 318 channels = len(frequencies) |
319 fmt = DATA_FORMAT[sample_width] | 319 fmt = FORMAT[sample_width] |
320 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] | 320 mono_channels = [PURE_TONE_DICT[freq] for freq in frequencies] |
321 data = array(fmt, _sample_generator(*mono_channels)).tobytes() | 321 data = array(fmt, _sample_generator(*mono_channels)).tobytes() |
322 tmpfile = NamedTemporaryFile() | 322 tmpfile = NamedTemporaryFile() |
323 _save_wave(data, tmpfile.name, sampling_rate, sample_width, channels) | 323 _save_wave(data, tmpfile.name, sampling_rate, sample_width, channels) |
324 self.assertTrue(filecmp.cmp(tmpfile.name, filename, shallow=False)) | 324 self.assertTrue(filecmp.cmp(tmpfile.name, filename, shallow=False)) |