diff --git a/test/test_feature_extractors.py b/test/test_feature_extractors.py index 170d50d..dadf72e 100644 --- a/test/test_feature_extractors.py +++ b/test/test_feature_extractors.py @@ -155,6 +155,13 @@ class TestRandomFeatureExtractor(unittest.TestCase): class TestLoudAudioFeatureExtractor(unittest.TestCase): """Test LoudAudioFeatureExtractor""" + def _mock_loudnorm(self, *args, **kwargs): + """Mock _loudnorm + + It returns a list of 2-tuple floats (time, loudness) representing loud audio instances + """ + return [(0.0, 0.0), (1.0, 1.0), (2.0, 2.0), (3.0, 3.0), (4.0, 4.0)] + def test_init(self): video_source = TestSourceMedia().one_colour_silent_audio() test_extractor = extractors.LoudAudioFeatureExtractor(input_files=video_source) @@ -174,6 +181,18 @@ class TestLoudAudioFeatureExtractor(unittest.TestCase): test_extractor.teardown() self.assertEqual(test_extractor.features, []) + def test_extract_mocked_loudnorm(self): + """Test extract with mocked loudness detection""" + video_source = TestSourceMedia().one_colour_silent_audio() + test_extractor = extractors.LoudAudioFeatureExtractor(input_files=video_source) + test_extractor._loudnorm = self._mock_loudnorm + test_extractor.setup() + test_extractor.run() + test_extractor.teardown() + self.assertEqual(len(test_extractor.features), 5) + + # TODO: add sample video with loud audio to test _loudnessdetect() + class TestVideoActivityFeatureExtractor(unittest.TestCase): """Test VideoActivityFeatureExtractor"""