History

python/ext/py-source.c: add seek, thanks @davebrent for the heads up

Paul Brossier committed 12 years ago

Commit 11b49d71 parent 24931d52 files · +46 −6Browse files

Showing the changes to python/tests (1 of 2 files). Show all

Unified · Split

python/tests/test_source.py+20−6
@@ -32,7 +32,7 @@ class aubio_source_test_case(aubio_source_test_case_base): · 31 unmodified lines
3232
3333 class aubio_source_read_test_case(aubio_source_test_case_base):
3434
35− def read_from_sink(self, f):
35+ def read_from_source(self, f):
3636 total_frames = 0
3737 while True:
3838 vec, read = f()
@@ -42,25 +42,26 @@ class aubio_source_read_test_case(aubio_source_test_case_base): · 3 unmodified lines
4242 print "(", total_frames, "frames", "in",
4343 print total_frames / f.hop_size, "blocks", "at", "%dHz" % f.samplerate, ")",
4444 print "from", f.uri
45+ return total_frames
4546
4647 def test_samplerate_hopsize(self):
4748 for p in list_of_sounds:
4849 for samplerate, hop_size in zip([0, 44100, 8000, 32000], [ 512, 512, 64, 256]):
4950 f = source(p, samplerate, hop_size)
5051 assert f.samplerate != 0
51− self.read_from_sink(f)
52+ self.read_from_source(f)
5253
5354 def test_samplerate_none(self):
5455 for p in list_of_sounds:
5556 f = source(p)
5657 assert f.samplerate != 0
57− self.read_from_sink(f)
58+ self.read_from_source(f)
5859
5960 def test_samplerate_0(self):
6061 for p in list_of_sounds:
6162 f = source(p, 0)
6263 assert f.samplerate != 0
63− self.read_from_sink(f)
64+ self.read_from_source(f)
6465
6566 def test_wrong_samplerate(self):
6667 for p in list_of_sounds:
@@ -85,11 +86,23 @@ class aubio_source_read_test_case(aubio_source_test_case_base): · 18 unmodified lines
8586 f = source(p, 0, 0)
8687 assert f.samplerate != 0
8788 assert f.hop_size != 0
88− self.read_from_sink(f)
89+ self.read_from_source(f)
90+
91+ def test_seek_to_half(self):
92+ from random import randint
93+ for p in list_of_sounds:
94+ f = source(p, 0, 0)
95+ assert f.samplerate != 0
96+ assert f.hop_size != 0
97+ a = self.read_from_source(f)
98+ c = randint(0, a)
99+ f.seek(c)
100+ b = self.read_from_source(f)
101+ assert a == b + c
89102
90103 class aubio_source_readmulti_test_case(aubio_source_read_test_case):
91104
92− def read_from_sink(self, f):
105+ def read_from_source(self, f):
93106 total_frames = 0
94107 while True:
95108 vec, read = f.do_multi()
@@ -100,6 +113,7 @@ class aubio_source_readmulti_test_case(aubio_source_read_test_case): · 4 unmodified lines
100113 print f.channels, "channels and",
101114 print total_frames / f.hop_size, "blocks", "at", "%dHz" % f.samplerate, ")",
102115 print "from", f.uri
116+ return total_frames
103117
104118 if __name__ == '__main__':
105119 from unittest import main

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t