annotate tests/test_audio_source.py @ 71:56ede0db2d19

Add tests for AudioSource read-only properties
author Amine SEHILI <amine.sehili@gmail.com>
date Sun, 05 Feb 2017 11:59:00 +0100
parents edee860b9f61
children 60854b74ee5d
rev   line source
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()