You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- """test_feature_extractors_functional.py -- functional tests for feature extractors
-
- This module contains functional tests for FEs using crafted and/or generated media files
- to verify that the FEs are working as expected:
-
- - laughter detection -- uses videos with laughs at known times
- - video activity -- uses videos with visual activity at known times
- - audio loudness -- uses videos with audio at known times
-
- etc.
-
- These tests are marked slow to avoid running them during normal test runs.
- """
-
- import unittest
- import pipeline.feature_extractors as extractors
- import test.mocks as mocks
- class TestVideoActivityFEFunctional(unittest.TestCase):
- """TestVisualActivityFEFunctional -- functional tests for visual activity feature extractor
- """
-
- def test_visual_activity_functional(self):
- """Test visual activity feature extractor
-
- use:
- - sample_videos/sample-manual-visualactivity.mp4 :: activity at 15-20s -- pass if activity detected anywhere in this range
- """
- SAMPLE_VIDEO = "/home/robert/code/softdev2023-24/summerproject/highlights/test/sample_videos/sample-manual-visualactivity.mp4"
-
- START_TIME = 15
- END_TIME = 20
- # create mock source with the video
- source = mocks.MockSource(path=SAMPLE_VIDEO)
-
- # create the feature extractor
- testfe = extractors.VideoActivityFeatureExtractor(input_files=[source])
- testfe.setup()
- testfe.run()
- testfe.teardown()
-
- # check if the feature was extracted:
- self.assertTrue(testfe.features)
- # check if the feature interval is within the expected range
- self.assertTrue(testfe.features[0].interval.start >= START_TIME)
|