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(