Você não pode selecionar mais de 25 tópicos
Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
|
- """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 FEFunctionalTest(unittest.TestCase):
- """FEFunctionalTest -- base class for functional tests for feature extractors
- """
- SAMPLE_DIR = "/home/robert/code/softdev2023-24/summerproject/highlights/test/sample_videos"
-
- class TestVideoActivityFEFunctional(FEFunctionalTest):
- """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 = f"{self.SAMPLE_DIR}/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)
|