Changeset 4320679 for python/tests


Ignore:
Timestamp:
Jan 12, 2014, 7:58:06 AM (10 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
Children:
6fbee46
Parents:
f36ecea
Message:

lib/aubio/slicing.py: allow any regions, overlaping or not, add more tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/tests/test_slicing.py

    rf36ecea r4320679  
    1010import shutil
    1111
    12 n_slices = 8
     12n_slices = 4
    1313
    1414class aubio_slicing_test_case(TestCase):
     
    3434        hopsize = 200
    3535        regions_start = [i*hopsize for i in range(1, n_slices)]
    36         regions_start += [count_samples_in_file(self.source_file) + 1000]
    3736        slice_source_at_stamps(self.source_file, regions_start, output_dir = self.output_dir,
    3837                hopsize = 200)
     
    4746            "number of samples written different from number of original samples")
    4847        shutil.rmtree(self.output_dir)
     48
     49class aubio_slicing_with_ends_test_case(TestCase):
     50
     51    def setUp(self):
     52        self.source_file = get_default_test_sound(self)
     53        self.output_dir = tempfile.mkdtemp(suffix = 'aubio_slicing_test_case')
     54
     55    def test_slice_start_and_ends_no_gap(self):
     56        regions_start = [i*1000 for i in range(n_slices)]
     57        regions_ends = [start - 1 for start in regions_start[1:]] + [1e120]
     58        slice_source_at_stamps(self.source_file, regions_start, regions_ends,
     59                output_dir = self.output_dir)
     60        original_samples = count_samples_in_file(self.source_file)
     61        written_samples = count_samples_in_directory(self.output_dir)
     62        total_files = count_files_in_directory(self.output_dir)
     63        assert_equal(n_slices, total_files,
     64            "number of slices created different from expected")
     65        assert_equal(written_samples, original_samples,
     66            "number of samples written different from number of original samples")
     67
     68    def test_slice_start_and_ends_200_gap(self):
     69        regions_start = [i*1000 for i in range(n_slices)]
     70        regions_ends = [start + 199 for start in regions_start]
     71        slice_source_at_stamps(self.source_file, regions_start, regions_ends,
     72                output_dir = self.output_dir)
     73        expected_samples = 200 * n_slices
     74        written_samples = count_samples_in_directory(self.output_dir)
     75        total_files = count_files_in_directory(self.output_dir)
     76        assert_equal(n_slices, total_files,
     77            "number of slices created different from expected")
     78        assert_equal(written_samples, expected_samples,
     79            "number of samples written different from number of original samples")
     80
     81    def test_slice_start_and_ends_overlaping(self):
     82        regions_start = [i*1000 for i in range(n_slices)]
     83        regions_ends = [start + 1199 for start in regions_start]
     84        slice_source_at_stamps(self.source_file, regions_start, regions_ends,
     85                output_dir = self.output_dir)
     86        expected_samples = 1200 * n_slices
     87        written_samples = count_samples_in_directory(self.output_dir)
     88        total_files = count_files_in_directory(self.output_dir)
     89        assert_equal(n_slices, total_files,
     90            "number of slices created different from expected")
     91        assert_equal(written_samples, expected_samples,
     92            "number of samples written different from number of original samples")
     93
     94    def tearDown(self):
     95        shutil.rmtree(self.output_dir)
     96
    4997
    5098class aubio_slicing_wrong_starts_test_case(TestCase):
     
    87135        slice_source_at_stamps (self.source_file, regions_start, regions_end,
    88136                output_dir = self.output_dir)
     137        total_files = count_files_in_directory(self.output_dir)
     138        assert_equal(n_slices, total_files,
     139            "number of slices created different from expected")
    89140        original_samples = count_samples_in_file(self.source_file)
    90141        written_samples = count_samples_in_directory(self.output_dir)
Note: See TracChangeset for help on using the changeset viewer.