Mercurial > hg > auditok
comparison tests/test_util.py @ 360:5133fdc926fb
Add tests for make_channel_selector with average channel
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Fri, 03 Apr 2020 20:50:48 +0200 |
parents | 96adb05e3a07 |
children | 6b65d8a1e954 |
comparison
equal
deleted
inserted
replaced
359:63871bac77f6 | 360:5133fdc926fb |
---|---|
144 self.assertEqual(result, expected) | 144 self.assertEqual(result, expected) |
145 | 145 |
146 # Use signal functions with numpy implementation | 146 # Use signal functions with numpy implementation |
147 with patch("auditok.util.signal", signal_numpy): | 147 with patch("auditok.util.signal", signal_numpy): |
148 selector = make_channel_selector(sample_width, channels, selected) | 148 selector = make_channel_selector(sample_width, channels, selected) |
149 resutl_numpy = selector(self.data) | 149 result_numpy = selector(self.data) |
150 | 150 |
151 expected = array_(fmt, expected) | 151 expected = array_(fmt, expected) |
152 if channels == 1: | 152 if channels == 1: |
153 expected = bytes(expected) | 153 expected = bytes(expected) |
154 self.assertEqual(resutl_numpy, expected) | 154 self.assertEqual(result_numpy, expected) |
155 else: | 155 else: |
156 self.assertTrue(all(resutl_numpy == expected)) | 156 self.assertTrue(all(result_numpy == expected)) |
157 | |
158 @genty_dataset( | |
159 int8_2channel=(1, 2, "avg", [48, 50, 52, 54, 61, 66]), | |
160 int8_4channel=(1, 4, "average", [50, 54, 64]), | |
161 int16_1channel=( | |
162 2, | |
163 1, | |
164 "mix", | |
165 [12592, 13106, 13620, 14134, 16697, 17218], | |
166 ), | |
167 int16_2channel=(2, 2, "avg", [12849, 13877, 16957]), | |
168 int32_3channel=(4, 3, "average", [971214132]), | |
169 ) | |
170 def test_make_channel_selector_average( | |
171 self, sample_width, channels, selected, expected | |
172 ): | |
173 # force using signal functions with standard python implementation | |
174 with patch("auditok.util.signal", signal_): | |
175 selector = make_channel_selector(sample_width, channels, selected) | |
176 result = selector(self.data) | |
177 | |
178 fmt = signal_.FORMAT[sample_width] | |
179 expected = array_(fmt, expected) | |
180 if channels == 1: | |
181 expected = bytes(expected) | |
182 self.assertEqual(result, expected) | |
183 | |
184 # Use signal functions with numpy implementation | |
185 with patch("auditok.util.signal", signal_numpy): | |
186 selector = make_channel_selector(sample_width, channels, selected) | |
187 result_numpy = selector(self.data) | |
188 | |
189 if channels in (1, 2): | |
190 self.assertEqual(result_numpy, expected) | |
191 else: | |
192 self.assertTrue(all(result_numpy == expected)) | |
193 | |
194 # def test_make_channel_selector_any( | |
195 # self, sample_width, channels, selected, expected | |
196 # ): | |
197 # pass | |
157 | 198 |
158 | 199 |
159 @genty | 200 @genty |
160 class TestAudioEnergyValidator(TestCase): | 201 class TestAudioEnergyValidator(TestCase): |
161 @genty_dataset( | 202 @genty_dataset( |