Showing the changes to python/tests (2 of 3 files). Show all
Unified · Split
| @@ -4,8 +4,7 @@ from numpy.testing import TestCase, run_module_suite · 3 unmodified lines | |||
| 4 | from numpy.testing import assert_equal, assert_almost_equal | 4 | from numpy.testing import assert_equal, assert_almost_equal |
| 5 | 5 | ||
| 6 | from aubio import slice_source_at_stamps | 6 | from aubio import slice_source_at_stamps |
| 7 | from utils import count_samples_in_file, count_samples_in_directory | 7 | from utils import * |
| 8 | from utils import get_default_test_sound | ||
| 9 | 8 | ||
| 10 | import tempfile | 9 | import tempfile |
| 11 | import shutil | 10 | import shutil |
| @@ -28,13 +27,22 @@ class aubio_slicing_test_case(TestCase): · 16 unmodified lines | |||
| 28 | 27 | ||
| 29 | def test_slice_start_beyond_end(self): | 28 | def test_slice_start_beyond_end(self): |
| 30 | regions_start = [i*1000 for i in range(1, n_slices)] | 29 | regions_start = [i*1000 for i in range(1, n_slices)] |
| 31 | regions_start += [count_samples_in_file(self.source_file)] | ||
| 32 | regions_start += [count_samples_in_file(self.source_file) + 1000] | 30 | regions_start += [count_samples_in_file(self.source_file) + 1000] |
| 33 | slice_source_at_stamps(self.source_file, regions_start, output_dir = self.output_dir) | 31 | slice_source_at_stamps(self.source_file, regions_start, output_dir = self.output_dir) |
| 34 | 32 | ||
| 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 | |||
| 35 | def tearDown(self): | 40 | def tearDown(self): |
| 36 | original_samples = count_samples_in_file(self.source_file) | 41 | original_samples = count_samples_in_file(self.source_file) |
| 37 | written_samples = count_samples_in_directory(self.output_dir) | 42 | 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") | ||
| 38 | assert_equal(written_samples, original_samples, | 46 | assert_equal(written_samples, original_samples, |
| 39 | "number of samples written different from number of original samples") | 47 | "number of samples written different from number of original samples") |
| 40 | shutil.rmtree(self.output_dir) | 48 | shutil.rmtree(self.output_dir) |
| @@ -67,14 +75,14 @@ class aubio_slicing_wrong_ends_test_case(TestCase): · 26 unmodified lines | |||
| 67 | self.output_dir = tempfile.mkdtemp(suffix = 'aubio_slicing_test_case') | 75 | self.output_dir = tempfile.mkdtemp(suffix = 'aubio_slicing_test_case') |
| 68 | 76 | ||
| 69 | def test_slice_wrong_ends(self): | 77 | 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)] |
| 71 | regions_end = [] | 79 | regions_end = [] |
| 72 | self.assertRaises (ValueError, | 80 | self.assertRaises (ValueError, |
| 73 | slice_source_at_stamps, self.source_file, regions_start, regions_end, | 81 | slice_source_at_stamps, self.source_file, regions_start, regions_end, |
| 74 | output_dir = self.output_dir) | 82 | output_dir = self.output_dir) |
| 75 | 83 | ||
| 76 | def test_slice_no_ends(self): | 84 | 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)] |
| 78 | regions_end = None | 86 | regions_end = None |
| 79 | slice_source_at_stamps (self.source_file, regions_start, regions_end, | 87 | slice_source_at_stamps (self.source_file, regions_start, regions_end, |
| 80 | output_dir = self.output_dir) | 88 | output_dir = self.output_dir) |
| @@ -47,3 +47,14 @@ def count_samples_in_directory(samples_dir): · 46 unmodified lines | |||
| 47 | if file_path: | 47 | if file_path: |
| 48 | total_frames += count_samples_in_file(file_path) | 48 | total_frames += count_samples_in_file(file_path) |
| 49 | return total_frames | 49 | 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 | ||