from aubio import slice_source_at_stamps
from utils import count_samples_in_file, count_samples_in_directory
+from utils import get_default_test_sound
import tempfile
import shutil
class aubio_slicing_test_case(TestCase):
def setUp(self):
- self.source_file = 'chocolate_1min.wav'
+ self.source_file = get_default_test_sound(self)
self.output_dir = tempfile.mkdtemp(suffix = 'aubio_slicing_test_case')
def test_slice_start_only(self):
"number samples written different from number of original samples")
shutil.rmtree(self.output_dir)
+class aubio_slicing_wrong_starts_test_case(TestCase):
+
+ def setUp(self):
+ self.source_file = get_default_test_sound(self)
+ self.output_dir = tempfile.mkdtemp(suffix = 'aubio_slicing_test_case')
+
+ def test_slice_start_empty(self):
+ regions_start = []
+ self.assertRaises(ValueError,
+ slice_source_at_stamps,
+ self.source_file, regions_start, output_dir = self.output_dir)
+
+ def test_slice_start_none(self):
+ regions_start = None
+ self.assertRaises(ValueError,
+ slice_source_at_stamps,
+ self.source_file, regions_start, output_dir = self.output_dir)
+
+ def tearDown(self):
+ shutil.rmtree(self.output_dir)
+
+class aubio_slicing_wrong_ends_test_case(TestCase):
+
+ def setUp(self):
+ self.source_file = get_default_test_sound(self)
+ self.output_dir = tempfile.mkdtemp(suffix = 'aubio_slicing_test_case')
+
+ def test_slice_wrong_ends(self):
+ regions_start = [i*1000 for i in range(1, 100)]
+ regions_end = []
+ self.assertRaises (ValueError,
+ slice_source_at_stamps, self.source_file, regions_start, regions_end,
+ output_dir = self.output_dir)
+
+ def test_slice_no_ends(self):
+ regions_start = [i*1000 for i in range(1, 100)]
+ regions_end = None
+ slice_source_at_stamps (self.source_file, regions_start, regions_end,
+ output_dir = self.output_dir)
+ original_samples = count_samples_in_file(self.source_file)
+ written_samples = count_samples_in_directory(self.output_dir)
+ assert_equal(original_samples, written_samples,
+ "number samples written different from number of original samples")
+
+ def tearDown(self):
+ shutil.rmtree(self.output_dir)
+
if __name__ == '__main__':
from unittest import main
main()