Mercurial > hg > auditok
changeset 223:3e4c0b7c75ca
Add tests for min_dur greater than max_dur in split
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Wed, 10 Jul 2019 21:07:19 +0100 |
parents | 38d7b281625c |
children | 78dd9ddb06c0 |
files | tests/test_core.py |
diffstat | 1 files changed, 32 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test_core.py Wed Jul 10 20:34:55 2019 +0100 +++ b/tests/test_core.py Wed Jul 10 21:07:19 2019 +0100 @@ -444,6 +444,38 @@ exp_data = data[onset * sample_width : offset * sample_width] self.assertEqual(bytes(reg), exp_data) + @genty_dataset( + min_dur_greater_than_max_dur=(0.5, 0.4, 0.1), + durations_OK_but_wrong_number_of_analysis_windows=(0.44, 0.49, 0.1), + ) + def test_split_wrong_min_max_dur(self, min_dur, max_dur, analysis_window): + + with self.assertRaises(ValueError) as val_err: + split( + b"0" * 16, + min_dur=min_dur, + max_dur=max_dur, + max_silence=0.2, + sr=16000, + sw=1, + ch=1, + analysis_window=analysis_window, + ) + + err_msg = "'min_dur' ({0} sec.) results in {1} analysis " + err_msg += "window(s) ({1} == ceil({0} / {2})) which is " + err_msg += "higher than the number of analysis window(s) for " + err_msg += "'max_dur' ({3} == floor({4} / {2}))" + + err_msg = err_msg.format( + min_dur, + math.ceil(min_dur / analysis_window), + analysis_window, + math.floor(max_dur / analysis_window), + max_dur, + ) + self.assertEqual(err_msg, str(val_err.exception)) + @genty class TestAudioRegion(TestCase):