amine@2
|
1 '''
|
amine@2
|
2 @author: Amine Sehili <amine.sehili@gmail.com>
|
amine@2
|
3 September 2015
|
amine@2
|
4
|
amine@2
|
5 '''
|
amine@2
|
6 import unittest
|
amine@2
|
7
|
amine@2
|
8 from auditok import BufferAudioSource
|
amine@2
|
9
|
amine@2
|
10
|
amine@2
|
11 class TestBufferAudioSource_SR10_SW1_CH1(unittest.TestCase):
|
amine@71
|
12
|
amine@2
|
13 def setUp(self):
|
amine@2
|
14 self.signal = "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345"
|
amine@2
|
15 self.audio_source = BufferAudioSource(data_buffer=self.signal,
|
amine@71
|
16 sampling_rate=10, sample_width=1, channels=1)
|
amine@2
|
17 self.audio_source.open()
|
amine@71
|
18
|
amine@2
|
19 def tearDown(self):
|
amine@2
|
20 self.audio_source.close()
|
amine@2
|
21
|
amine@2
|
22 def test_sr10_sw1_ch1_read_1(self):
|
amine@71
|
23
|
amine@2
|
24 block = self.audio_source.read(1)
|
amine@2
|
25 self.assertEqual(block, "A", msg="wrong block, expected: 'A', found: {0} ".format(block))
|
amine@71
|
26
|
amine@2
|
27 def test_sr10_sw1_ch1_read_6(self):
|
amine@71
|
28
|
amine@2
|
29 block = self.audio_source.read(6)
|
amine@2
|
30 self.assertEqual(block, "ABCDEF", msg="wrong block, expected: 'ABCDEF', found: {0} ".format(block))
|
amine@71
|
31
|
amine@2
|
32 def test_sr10_sw1_ch1_read_multiple(self):
|
amine@71
|
33
|
amine@2
|
34 block = self.audio_source.read(1)
|
amine@2
|
35 self.assertEqual(block, "A", msg="wrong block, expected: 'A', found: {0} ".format(block))
|
amine@71
|
36
|
amine@2
|
37 block = self.audio_source.read(6)
|
amine@2
|
38 self.assertEqual(block, "BCDEFG", msg="wrong block, expected: 'BCDEFG', found: {0} ".format(block))
|
amine@71
|
39
|
amine@2
|
40 block = self.audio_source.read(13)
|
amine@2
|
41 self.assertEqual(block, "HIJKLMNOPQRST", msg="wrong block, expected: 'HIJKLMNOPQRST', found: {0} ".format(block))
|
amine@71
|
42
|
amine@2
|
43 block = self.audio_source.read(9999)
|
amine@2
|
44 self.assertEqual(block, "UVWXYZ012345", msg="wrong block, expected: 'UVWXYZ012345', found: {0} ".format(block))
|
amine@71
|
45
|
amine@2
|
46 def test_sr10_sw1_ch1_read_all(self):
|
amine@2
|
47 block = self.audio_source.read(9999)
|
amine@2
|
48 self.assertEqual(block, self.signal, msg="wrong block, expected: {0}, found: {1} ".format(self.signal, block))
|
amine@71
|
49
|
amine@2
|
50 block = self.audio_source.read(1)
|
amine@2
|
51 self.assertEqual(block, None, msg="wrong block, expected: {0}, found: {1} ".format(None, block))
|
amine@71
|
52
|
amine@2
|
53 def test_sr10_sw1_ch1_get_sampling_rate(self):
|
amine@71
|
54
|
amine@2
|
55 srate = self.audio_source.get_sampling_rate()
|
amine@2
|
56 self.assertEqual(srate, 10, msg="wrong sampling rate, expected: 10, found: {0} ".format(srate))
|
amine@71
|
57
|
amine@2
|
58 def test_sr10_sw1_ch1_get_sample_width(self):
|
amine@71
|
59
|
amine@2
|
60 swidth = self.audio_source.get_sample_width()
|
amine@2
|
61 self.assertEqual(swidth, 1, msg="wrong sample width, expected: 1, found: {0} ".format(swidth))
|
amine@71
|
62
|
amine@2
|
63 def test_sr10_sw1_ch1_get_channels(self):
|
amine@71
|
64
|
amine@2
|
65 channels = self.audio_source.get_channels()
|
amine@2
|
66 self.assertEqual(channels, 1, msg="wrong number of channels, expected: 1, found: {0} ".format(channels))
|
amine@71
|
67
|
amine@2
|
68 def test_sr10_sw1_ch1_get_position_0(self):
|
amine@71
|
69
|
amine@2
|
70 pos = self.audio_source.get_position()
|
amine@2
|
71 self.assertEqual(pos, 0, msg="wrong position, expected: 0, found: {0} ".format(pos))
|
amine@71
|
72
|
amine@2
|
73 def test_sr10_sw1_ch1_get_position_5(self):
|
amine@71
|
74
|
amine@2
|
75 self.audio_source.read(5)
|
amine@2
|
76 pos = self.audio_source.get_position()
|
amine@2
|
77 self.assertEqual(pos, 5, msg="wrong position, expected: 5, found: {0} ".format(pos))
|
amine@71
|
78
|
amine@2
|
79 def test_sr10_sw1_ch1_get_position_25(self):
|
amine@71
|
80
|
amine@2
|
81 self.audio_source.read(5)
|
amine@2
|
82 self.audio_source.read(20)
|
amine@71
|
83
|
amine@2
|
84 pos = self.audio_source.get_position()
|
amine@2
|
85 self.assertEqual(pos, 25, msg="wrong position, expected: 5, found: {0} ".format(pos))
|
amine@71
|
86
|
amine@2
|
87 def test_sr10_sw1_ch1_set_position_0(self):
|
amine@71
|
88
|
amine@2
|
89 self.audio_source.read(10)
|
amine@2
|
90 self.audio_source.set_position(0)
|
amine@2
|
91 pos = self.audio_source.get_position()
|
amine@2
|
92 self.assertEqual(pos, 0, msg="wrong position, expected: 0, found: {0} ".format(pos))
|
amine@71
|
93
|
amine@2
|
94 def test_sr10_sw1_ch1_set_position_10(self):
|
amine@71
|
95
|
amine@2
|
96 self.audio_source.set_position(10)
|
amine@2
|
97 pos = self.audio_source.get_position()
|
amine@2
|
98 self.assertEqual(pos, 10, msg="wrong position, expected: 10, found: {0} ".format(pos))
|
amine@71
|
99
|
amine@2
|
100 def test_sr10_sw1_ch1_get_time_position_0(self):
|
amine@71
|
101
|
amine@2
|
102 tp = self.audio_source.get_time_position()
|
amine@2
|
103 self.assertEqual(tp, 0.0, msg="wrong time position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
104
|
amine@2
|
105 def test_sr10_sw1_ch1_get_time_position_1(self):
|
amine@71
|
106
|
amine@2
|
107 srate = self.audio_source.get_sampling_rate()
|
amine@2
|
108 # read one second
|
amine@2
|
109 self.audio_source.read(srate)
|
amine@2
|
110 tp = self.audio_source.get_time_position()
|
amine@2
|
111 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
112
|
amine@2
|
113 def test_sr10_sw1_ch1_get_time_position_2_5(self):
|
amine@71
|
114
|
amine@2
|
115 # read 2.5 seconds
|
amine@2
|
116 self.audio_source.read(25)
|
amine@2
|
117 tp = self.audio_source.get_time_position()
|
amine@2
|
118 self.assertEqual(tp, 2.5, msg="wrong time position, expected: 2.5, found: {0} ".format(tp))
|
amine@71
|
119
|
amine@2
|
120 def test_sr10_sw1_ch1_set_time_position_0(self):
|
amine@71
|
121
|
amine@2
|
122 self.audio_source.read(10)
|
amine@2
|
123 self.audio_source.set_time_position(0)
|
amine@2
|
124 tp = self.audio_source.get_time_position()
|
amine@2
|
125 self.assertEqual(tp, 0.0, msg="wrong time position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
126
|
amine@2
|
127 def test_sr10_sw1_ch1_set_time_position_1(self):
|
amine@2
|
128
|
amine@2
|
129 self.audio_source.set_time_position(1)
|
amine@2
|
130 tp = self.audio_source.get_time_position()
|
amine@2
|
131 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
132
|
amine@2
|
133 def test_sr10_sw1_ch1_set_time_position_end(self):
|
amine@2
|
134
|
amine@2
|
135 self.audio_source.set_time_position(100)
|
amine@2
|
136 tp = self.audio_source.get_time_position()
|
amine@2
|
137 self.assertEqual(tp, 3.2, msg="wrong time position, expected: 3.2, found: {0} ".format(tp))
|
amine@71
|
138
|
amine@2
|
139 def test_sr10_sw1_ch1_rewind(self):
|
amine@71
|
140
|
amine@2
|
141 self.audio_source.read(10)
|
amine@2
|
142 self.audio_source.rewind()
|
amine@2
|
143 tp = self.audio_source.get_position()
|
amine@2
|
144 self.assertEqual(tp, 0, msg="wrong position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
145
|
amine@2
|
146 def test_sr10_sw1_ch1_set_data(self):
|
amine@2
|
147 self.audio_source.set_data("12345")
|
amine@2
|
148 block = self.audio_source.read(9999)
|
amine@2
|
149 self.assertEqual(block, "12345", msg="wrong block, expected: '12345', found: {0} ".format(block))
|
amine@71
|
150
|
amine@2
|
151 def test_sr10_sw1_ch1_read_closed(self):
|
amine@2
|
152 self.audio_source.close()
|
amine@2
|
153 with self.assertRaises(Exception):
|
amine@2
|
154 self.audio_source.read(1)
|
amine@71
|
155
|
amine@2
|
156
|
amine@2
|
157 class TestBufferAudioSource_SR16_SW2_CH1(unittest.TestCase):
|
amine@71
|
158
|
amine@2
|
159 def setUp(self):
|
amine@2
|
160 self.signal = "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345"
|
amine@2
|
161 self.audio_source = BufferAudioSource(data_buffer=self.signal,
|
amine@71
|
162 sampling_rate=16, sample_width=2, channels=1)
|
amine@2
|
163 self.audio_source.open()
|
amine@71
|
164
|
amine@2
|
165 def tearDown(self):
|
amine@2
|
166 self.audio_source.close()
|
amine@2
|
167
|
amine@2
|
168 def test_sr16_sw2_ch1_read_1(self):
|
amine@71
|
169
|
amine@2
|
170 block = self.audio_source.read(1)
|
amine@2
|
171 self.assertEqual(block, "AB", msg="wrong block, expected: 'AB', found: {0} ".format(block))
|
amine@71
|
172
|
amine@2
|
173 def test_sr16_sw2_ch1_read_6(self):
|
amine@71
|
174
|
amine@2
|
175 block = self.audio_source.read(6)
|
amine@2
|
176 self.assertEqual(block, "ABCDEFGHIJKL", msg="wrong block, expected: 'ABCDEFGHIJKL', found: {0} ".format(block))
|
amine@71
|
177
|
amine@2
|
178 def test_sr16_sw2_ch1_read_multiple(self):
|
amine@71
|
179
|
amine@2
|
180 block = self.audio_source.read(1)
|
amine@2
|
181 self.assertEqual(block, "AB", msg="wrong block, expected: 'AB', found: {0} ".format(block))
|
amine@71
|
182
|
amine@2
|
183 block = self.audio_source.read(6)
|
amine@2
|
184 self.assertEqual(block, "CDEFGHIJKLMN", msg="wrong block, expected: 'CDEFGHIJKLMN', found: {0} ".format(block))
|
amine@71
|
185
|
amine@2
|
186 block = self.audio_source.read(5)
|
amine@2
|
187 self.assertEqual(block, "OPQRSTUVWX", msg="wrong block, expected: 'OPQRSTUVWX', found: {0} ".format(block))
|
amine@71
|
188
|
amine@2
|
189 block = self.audio_source.read(9999)
|
amine@2
|
190 self.assertEqual(block, "YZ012345", msg="wrong block, expected: 'YZ012345', found: {0} ".format(block))
|
amine@71
|
191
|
amine@2
|
192 def test_sr16_sw2_ch1_read_all(self):
|
amine@2
|
193 block = self.audio_source.read(9999)
|
amine@2
|
194 self.assertEqual(block, self.signal, msg="wrong block, expected: {0}, found: {1} ".format(self.signal, block))
|
amine@71
|
195
|
amine@2
|
196 block = self.audio_source.read(1)
|
amine@2
|
197 self.assertEqual(block, None, msg="wrong block, expected: {0}, found: {1} ".format(None, block))
|
amine@71
|
198
|
amine@2
|
199 def test_sr16_sw2_ch1_get_sampling_rate(self):
|
amine@71
|
200
|
amine@2
|
201 srate = self.audio_source.get_sampling_rate()
|
amine@2
|
202 self.assertEqual(srate, 16, msg="wrong sampling rate, expected: 10, found: {0} ".format(srate))
|
amine@71
|
203
|
amine@2
|
204 def test_sr16_sw2_ch1_get_sample_width(self):
|
amine@71
|
205
|
amine@2
|
206 swidth = self.audio_source.get_sample_width()
|
amine@2
|
207 self.assertEqual(swidth, 2, msg="wrong sample width, expected: 1, found: {0} ".format(swidth))
|
amine@71
|
208
|
amine@2
|
209 def test_sr16_sw2_ch1_get_channels(self):
|
amine@71
|
210
|
amine@2
|
211 channels = self.audio_source.get_channels()
|
amine@2
|
212 self.assertEqual(channels, 1, msg="wrong number of channels, expected: 1, found: {0} ".format(channels))
|
amine@71
|
213
|
amine@2
|
214 def test_sr16_sw2_ch1_get_position_0(self):
|
amine@71
|
215
|
amine@2
|
216 pos = self.audio_source.get_position()
|
amine@2
|
217 self.assertEqual(pos, 0, msg="wrong position, expected: 0, found: {0} ".format(pos))
|
amine@71
|
218
|
amine@2
|
219 def test_sr16_sw2_ch1_get_position_5(self):
|
amine@71
|
220
|
amine@2
|
221 self.audio_source.read(5)
|
amine@2
|
222 pos = self.audio_source.get_position()
|
amine@2
|
223 self.assertEqual(pos, 5, msg="wrong position, expected: 5, found: {0} ".format(pos))
|
amine@71
|
224
|
amine@2
|
225 def test_sr16_sw2_ch1_get_position_15(self):
|
amine@71
|
226
|
amine@2
|
227 self.audio_source.read(5)
|
amine@2
|
228 self.audio_source.read(10)
|
amine@71
|
229
|
amine@2
|
230 pos = self.audio_source.get_position()
|
amine@2
|
231 self.assertEqual(pos, 15, msg="wrong position, expected: 5, found: {0} ".format(pos))
|
amine@71
|
232
|
amine@2
|
233 def test_sr16_sw2_ch1_set_position_0(self):
|
amine@71
|
234
|
amine@2
|
235 self.audio_source.read(10)
|
amine@2
|
236 self.audio_source.set_position(0)
|
amine@2
|
237 pos = self.audio_source.get_position()
|
amine@2
|
238 self.assertEqual(pos, 0, msg="wrong position, expected: 0, found: {0} ".format(pos))
|
amine@71
|
239
|
amine@2
|
240 def test_sr16_sw2_ch1_set_position_10(self):
|
amine@71
|
241
|
amine@2
|
242 self.audio_source.set_position(10)
|
amine@2
|
243 pos = self.audio_source.get_position()
|
amine@2
|
244 self.assertEqual(pos, 10, msg="wrong position, expected: 10, found: {0} ".format(pos))
|
amine@71
|
245
|
amine@2
|
246 def test_sr16_sw2_ch1_get_time_position_0(self):
|
amine@71
|
247
|
amine@2
|
248 tp = self.audio_source.get_time_position()
|
amine@2
|
249 self.assertEqual(tp, 0.0, msg="wrong time position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
250
|
amine@2
|
251 def test_sr16_sw2_ch1_get_time_position_1(self):
|
amine@71
|
252
|
amine@2
|
253 srate = self.audio_source.get_sampling_rate()
|
amine@2
|
254 # read one second
|
amine@2
|
255 self.audio_source.read(srate)
|
amine@2
|
256 tp = self.audio_source.get_time_position()
|
amine@2
|
257 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
258
|
amine@2
|
259 def test_sr16_sw2_ch1_get_time_position_0_75(self):
|
amine@71
|
260
|
amine@2
|
261 # read 2.5 seconds
|
amine@2
|
262 self.audio_source.read(12)
|
amine@2
|
263 tp = self.audio_source.get_time_position()
|
amine@2
|
264 self.assertEqual(tp, 0.75, msg="wrong time position, expected: 0.75, found: {0} ".format(tp))
|
amine@71
|
265
|
amine@2
|
266 def test_sr16_sw2_ch1_set_time_position_0(self):
|
amine@71
|
267
|
amine@2
|
268 self.audio_source.read(10)
|
amine@2
|
269 self.audio_source.set_time_position(0)
|
amine@2
|
270 tp = self.audio_source.get_time_position()
|
amine@2
|
271 self.assertEqual(tp, 0.0, msg="wrong time position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
272
|
amine@2
|
273 def test_sr16_sw2_ch1_set_time_position_1(self):
|
amine@2
|
274
|
amine@2
|
275 self.audio_source.set_time_position(1)
|
amine@2
|
276 tp = self.audio_source.get_time_position()
|
amine@2
|
277 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
278
|
amine@2
|
279 def test_sr16_sw2_ch1_set_time_position_end(self):
|
amine@2
|
280
|
amine@2
|
281 self.audio_source.set_time_position(100)
|
amine@2
|
282 tp = self.audio_source.get_time_position()
|
amine@2
|
283 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
284
|
amine@2
|
285 def test_sr16_sw2_ch1_rewind(self):
|
amine@71
|
286
|
amine@2
|
287 self.audio_source.read(10)
|
amine@2
|
288 self.audio_source.rewind()
|
amine@2
|
289 tp = self.audio_source.get_position()
|
amine@2
|
290 self.assertEqual(tp, 0, msg="wrong position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
291
|
amine@2
|
292 def test_sr16_sw2_ch1_set_data(self):
|
amine@71
|
293
|
amine@2
|
294 self.audio_source.set_data("abcdef")
|
amine@2
|
295 block = self.audio_source.read(9999)
|
amine@2
|
296 self.assertEqual(block, "abcdef", msg="wrong block, expected: 'abcdef', found: {0} ".format(block))
|
amine@71
|
297
|
amine@2
|
298 def test_sr16_sw2_ch1_set_data_exception(self):
|
amine@71
|
299
|
amine@2
|
300 with self.assertRaises(Exception):
|
amine@2
|
301 self.assertRaises(ValueError, self.audio_source.set_data("abcde"))
|
amine@71
|
302
|
amine@2
|
303
|
amine@2
|
304 class TestBufferAudioSource_SR11_SW4_CH1(unittest.TestCase):
|
amine@71
|
305
|
amine@2
|
306 def setUp(self):
|
amine@2
|
307 self.signal = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh"
|
amine@2
|
308 self.audio_source = BufferAudioSource(data_buffer=self.signal,
|
amine@71
|
309 sampling_rate=11, sample_width=4, channels=1)
|
amine@2
|
310 self.audio_source.open()
|
amine@71
|
311
|
amine@2
|
312 def tearDown(self):
|
amine@2
|
313 self.audio_source.close()
|
amine@2
|
314
|
amine@2
|
315 def test_sr11_sw4_ch1_read_1(self):
|
amine@71
|
316
|
amine@2
|
317 block = self.audio_source.read(1)
|
amine@2
|
318 self.assertEqual(block, "ABCD", msg="wrong block, expected: 'ABCD', found: {0} ".format(block))
|
amine@71
|
319
|
amine@2
|
320 def test_sr11_sw4_ch1_read_6(self):
|
amine@71
|
321
|
amine@2
|
322 block = self.audio_source.read(6)
|
amine@71
|
323 self.assertEqual(block, "ABCDEFGHIJKLMNOPQRSTUVWX",
|
amine@71
|
324 msg="wrong block, expected: 'ABCDEFGHIJKLMNOPQRSTUVWX', found: {0} ".format(block))
|
amine@71
|
325
|
amine@2
|
326 def test_sr11_sw4_ch1_read_multiple(self):
|
amine@71
|
327
|
amine@2
|
328 block = self.audio_source.read(1)
|
amine@2
|
329 self.assertEqual(block, "ABCD", msg="wrong block, expected: 'AB', found: {0} ".format(block))
|
amine@71
|
330
|
amine@2
|
331 block = self.audio_source.read(6)
|
amine@71
|
332 self.assertEqual(block, "EFGHIJKLMNOPQRSTUVWXYZ01",
|
amine@71
|
333 msg="wrong block, expected: 'EFGHIJKLMNOPQRSTUVWXYZ01', found: {0} ".format(block))
|
amine@71
|
334
|
amine@2
|
335 block = self.audio_source.read(3)
|
amine@2
|
336 self.assertEqual(block, "23456789abcd", msg="wrong block, expected: '23456789abcd', found: {0} ".format(block))
|
amine@71
|
337
|
amine@2
|
338 block = self.audio_source.read(9999)
|
amine@2
|
339 self.assertEqual(block, "efgh", msg="wrong block, expected: 'efgh', found: {0} ".format(block))
|
amine@71
|
340
|
amine@2
|
341 def test_sr11_sw4_ch1_read_all(self):
|
amine@2
|
342 block = self.audio_source.read(9999)
|
amine@2
|
343 self.assertEqual(block, self.signal, msg="wrong block, expected: {0}, found: {1} ".format(self.signal, block))
|
amine@71
|
344
|
amine@2
|
345 block = self.audio_source.read(1)
|
amine@2
|
346 self.assertEqual(block, None, msg="wrong block, expected: {0}, found: {1} ".format(None, block))
|
amine@71
|
347
|
amine@2
|
348 def test_sr11_sw4_ch1_get_sampling_rate(self):
|
amine@71
|
349
|
amine@2
|
350 srate = self.audio_source.get_sampling_rate()
|
amine@2
|
351 self.assertEqual(srate, 11, msg="wrong sampling rate, expected: 10, found: {0} ".format(srate))
|
amine@71
|
352
|
amine@2
|
353 def test_sr11_sw4_ch1_get_sample_width(self):
|
amine@71
|
354
|
amine@2
|
355 swidth = self.audio_source.get_sample_width()
|
amine@2
|
356 self.assertEqual(swidth, 4, msg="wrong sample width, expected: 1, found: {0} ".format(swidth))
|
amine@71
|
357
|
amine@2
|
358 def test_sr11_sw4_ch1_get_channels(self):
|
amine@71
|
359
|
amine@2
|
360 channels = self.audio_source.get_channels()
|
amine@2
|
361 self.assertEqual(channels, 1, msg="wrong number of channels, expected: 1, found: {0} ".format(channels))
|
amine@71
|
362
|
amine@2
|
363 def test_sr11_sw4_ch1_get_position_0(self):
|
amine@71
|
364
|
amine@2
|
365 pos = self.audio_source.get_position()
|
amine@2
|
366 self.assertEqual(pos, 0, msg="wrong position, expected: 0, found: {0} ".format(pos))
|
amine@71
|
367
|
amine@2
|
368 def test_sr11_sw4_ch1_get_position_5(self):
|
amine@71
|
369
|
amine@2
|
370 self.audio_source.read(5)
|
amine@2
|
371 pos = self.audio_source.get_position()
|
amine@2
|
372 self.assertEqual(pos, 5, msg="wrong position, expected: 5, found: {0} ".format(pos))
|
amine@71
|
373
|
amine@2
|
374 def test_sr11_sw4_ch1_get_position_9(self):
|
amine@71
|
375
|
amine@2
|
376 self.audio_source.read(5)
|
amine@2
|
377 self.audio_source.read(4)
|
amine@71
|
378
|
amine@2
|
379 pos = self.audio_source.get_position()
|
amine@2
|
380 self.assertEqual(pos, 9, msg="wrong position, expected: 5, found: {0} ".format(pos))
|
amine@71
|
381
|
amine@2
|
382 def test_sr11_sw4_ch1_set_position_0(self):
|
amine@71
|
383
|
amine@2
|
384 self.audio_source.read(10)
|
amine@2
|
385 self.audio_source.set_position(0)
|
amine@2
|
386 pos = self.audio_source.get_position()
|
amine@2
|
387 self.assertEqual(pos, 0, msg="wrong position, expected: 0, found: {0} ".format(pos))
|
amine@71
|
388
|
amine@2
|
389 def test_sr11_sw4_ch1_set_position_10(self):
|
amine@71
|
390
|
amine@2
|
391 self.audio_source.set_position(10)
|
amine@2
|
392 pos = self.audio_source.get_position()
|
amine@2
|
393 self.assertEqual(pos, 10, msg="wrong position, expected: 10, found: {0} ".format(pos))
|
amine@71
|
394
|
amine@2
|
395 def test_sr11_sw4_ch1_get_time_position_0(self):
|
amine@71
|
396
|
amine@2
|
397 tp = self.audio_source.get_time_position()
|
amine@2
|
398 self.assertEqual(tp, 0.0, msg="wrong time position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
399
|
amine@2
|
400 def test_sr11_sw4_ch1_get_time_position_1(self):
|
amine@71
|
401
|
amine@2
|
402 srate = self.audio_source.get_sampling_rate()
|
amine@2
|
403 # read one second
|
amine@2
|
404 self.audio_source.read(srate)
|
amine@2
|
405 tp = self.audio_source.get_time_position()
|
amine@2
|
406 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
407
|
amine@2
|
408 def test_sr11_sw4_ch1_get_time_position_0_63(self):
|
amine@71
|
409
|
amine@2
|
410 # read 2.5 seconds
|
amine@2
|
411 self.audio_source.read(7)
|
amine@2
|
412 tp = self.audio_source.get_time_position()
|
amine@2
|
413 self.assertAlmostEqual(tp, 0.636363636364, msg="wrong time position, expected: 0.636363636364, found: {0} ".format(tp))
|
amine@71
|
414
|
amine@2
|
415 def test_sr11_sw4_ch1_set_time_position_0(self):
|
amine@71
|
416
|
amine@2
|
417 self.audio_source.read(10)
|
amine@2
|
418 self.audio_source.set_time_position(0)
|
amine@2
|
419 tp = self.audio_source.get_time_position()
|
amine@2
|
420 self.assertEqual(tp, 0.0, msg="wrong time position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
421
|
amine@2
|
422 def test_sr11_sw4_ch1_set_time_position_1(self):
|
amine@2
|
423
|
amine@2
|
424 self.audio_source.set_time_position(1)
|
amine@2
|
425 tp = self.audio_source.get_time_position()
|
amine@2
|
426 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
427
|
amine@2
|
428 def test_sr11_sw4_ch1_set_time_position_end(self):
|
amine@2
|
429
|
amine@2
|
430 self.audio_source.set_time_position(100)
|
amine@2
|
431 tp = self.audio_source.get_time_position()
|
amine@2
|
432 self.assertEqual(tp, 1.0, msg="wrong time position, expected: 1.0, found: {0} ".format(tp))
|
amine@71
|
433
|
amine@2
|
434 def test_sr11_sw4_ch1_rewind(self):
|
amine@71
|
435
|
amine@2
|
436 self.audio_source.read(10)
|
amine@2
|
437 self.audio_source.rewind()
|
amine@2
|
438 tp = self.audio_source.get_position()
|
amine@2
|
439 self.assertEqual(tp, 0, msg="wrong position, expected: 0.0, found: {0} ".format(tp))
|
amine@71
|
440
|
amine@2
|
441 def test_sr11_sw4_ch1_set_data(self):
|
amine@71
|
442
|
amine@2
|
443 self.audio_source.set_data("abcdefgh")
|
amine@2
|
444 block = self.audio_source.read(9999)
|
amine@2
|
445 self.assertEqual(block, "abcdefgh", msg="wrong block, expected: 'abcdef', found: {0} ".format(block))
|
amine@71
|
446
|
amine@2
|
447 def test_sr11_sw4_ch1_set_data_exception(self):
|
amine@71
|
448
|
amine@2
|
449 with self.assertRaises(Exception):
|
amine@2
|
450 self.assertRaises(ValueError, self.audio_source.set_data("abcdef"))
|
amine@71
|
451
|
amine@71
|
452
|
amine@71
|
453 class TestAudioSourceProperties(unittest.TestCase):
|
amine@71
|
454
|
amine@71
|
455 def test_read_properties(self):
|
amine@71
|
456
|
amine@71
|
457 data = ""
|
amine@71
|
458 sampling_rate = 8000
|
amine@71
|
459 sample_width = 2
|
amine@71
|
460 channels = 1
|
amine@71
|
461 a_source = BufferAudioSource(data, sampling_rate, sample_width, channels)
|
amine@71
|
462
|
amine@71
|
463 self.assertEqual(a_source.sampling_rate, sampling_rate)
|
amine@71
|
464 self.assertEqual(a_source.sample_width, sample_width)
|
amine@71
|
465 self.assertEqual(a_source.channels, channels)
|
amine@71
|
466
|
amine@71
|
467 def test_set_readonly_properties_exception(self):
|
amine@71
|
468
|
amine@71
|
469 data = ""
|
amine@71
|
470 sampling_rate = 8000
|
amine@71
|
471 sample_width = 2
|
amine@71
|
472 channels = 1
|
amine@71
|
473 a_source = BufferAudioSource(data, sampling_rate, sample_width, channels)
|
amine@71
|
474
|
amine@71
|
475 with self.assertRaises(AttributeError):
|
amine@71
|
476 a_source.sampling_rate = 16000
|
amine@71
|
477 a_source.sample_width = 1
|
amine@71
|
478 a_source.channels = 2
|
amine@2
|
479
|
amine@2
|
480
|
amine@2
|
481 if __name__ == "__main__":
|
amine@2
|
482 unittest.main()
|