History

python/lib/aubio/slicing.py: use start and end stamps, make sure read > 0, improve tests

Paul Brossier committed 12 years ago

Commit f36ecea1 parent d9459763 files · +51 −18Browse files

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

Unified · Split

2 files
  1. python/tests/test_slicing.py +13 −5
  2. python/tests/utils.py +11 −0
python/tests/test_slicing.py+13−5
@@ -4,8 +4,7 @@ from numpy.testing import TestCase, run_module_suite · 3 unmodified lines
44 from numpy.testing import assert_equal, assert_almost_equal
55
66 from aubio import slice_source_at_stamps
7−from utils import count_samples_in_file, count_samples_in_directory
8−from utils import get_default_test_sound
7+from utils import *
98
109 import tempfile
1110 import shutil
@@ -28,13 +27,22 @@ class aubio_slicing_test_case(TestCase): · 16 unmodified lines
2827
2928 def test_slice_start_beyond_end(self):
3029 regions_start = [i*1000 for i in range(1, n_slices)]
31− regions_start += [count_samples_in_file(self.source_file)]
3230 regions_start += [count_samples_in_file(self.source_file) + 1000]
3331 slice_source_at_stamps(self.source_file, regions_start, output_dir = self.output_dir)
3432
33+ def test_slice_start_every_blocksize(self):
34+ hopsize = 200
35+ regions_start = [i*hopsize for i in range(1, n_slices)]
36+ regions_start += [count_samples_in_file(self.source_file) + 1000]
37+ slice_source_at_stamps(self.source_file, regions_start, output_dir = self.output_dir,
38+ hopsize = 200)
39+
3540 def tearDown(self):
3641 original_samples = count_samples_in_file(self.source_file)
3742 written_samples = count_samples_in_directory(self.output_dir)
43+ total_files = count_files_in_directory(self.output_dir)
44+ assert_equal(n_slices, total_files,
45+ "number of slices created different from expected")
3846 assert_equal(written_samples, original_samples,
3947 "number of samples written different from number of original samples")
4048 shutil.rmtree(self.output_dir)
@@ -67,14 +75,14 @@ class aubio_slicing_wrong_ends_test_case(TestCase): · 26 unmodified lines
6775 self.output_dir = tempfile.mkdtemp(suffix = 'aubio_slicing_test_case')
6876
6977 def test_slice_wrong_ends(self):
70− regions_start = [i*1000 for i in range(1, 100)]
78+ regions_start = [i*1000 for i in range(1, n_slices)]
7179 regions_end = []
7280 self.assertRaises (ValueError,
7381 slice_source_at_stamps, self.source_file, regions_start, regions_end,
7482 output_dir = self.output_dir)
7583
7684 def test_slice_no_ends(self):
77− regions_start = [i*1000 for i in range(1, 100)]
85+ regions_start = [i*1000 for i in range(1, n_slices)]
7886 regions_end = None
7987 slice_source_at_stamps (self.source_file, regions_start, regions_end,
8088 output_dir = self.output_dir)
python/tests/utils.py+11−0
@@ -47,3 +47,14 @@ def count_samples_in_directory(samples_dir): · 46 unmodified lines
4747 if file_path:
4848 total_frames += count_samples_in_file(file_path)
4949 return total_frames
50+
51+def count_files_in_directory(samples_dir):
52+ import os
53+ total_files = 0
54+ for f in os.walk(samples_dir):
55+ if len(f[2]):
56+ for each in f[2]:
57+ file_path = os.path.join(f[0], each)
58+ if file_path:
59+ total_files += 1
60+ return total_files

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