|
- """test_producers.py -- test the producers in the pipeline (eg ffmpeg, visualisation, json)"""
- import unittest
- import pipeline.video_producers as producers
-
-
- class MockFeature():
- """Mock feature object for testing JSONProducer"""
- def __init__(self, interval):
- self.interval = interval
- def to_json(self):
- return {"interval": self.interval}
-
- class TestFfmpegVideoProducer(unittest.TestCase):
- """Test FfmpegVideoProducer (produces videos using ffmpeg)"""
-
- def test_init_empty(self):
- # test with no features -- should raise ValueError
- with self.assertRaises(ValueError):
- producers.FfmpegVideoProducer(features=None)
-
- def test_init(self):
- # test with features
- feature = MockFeature(interval="")
- features = [feature]
- vidprod = producers.FfmpegVideoProducer(features=features)
- self.assertEqual(vidprod.features, features)
-
- def test_ffmpeg_feature_to_clip(self):
- # TODO
- pass
-
- def test_ffmpeg_concat_clips(self):
- # TODO
- pass
-
- def test_produce(self):
- """Test we can call produce without error"""
- # TODO
- pass
-
- class TestVisualisationProducer(unittest.TestCase):
- """Test VisualisationProducer (produces matplotlib visualisations)"""
-
- def test_init_empty(self):
- # test with no features -- should raise ValueError
- with self.assertRaises(ValueError):
- producers.VisualisationProducer(features=None)
-
- def test_init(self):
- # test with features
- feature = MockFeature(interval="")
- features = [feature]
- visprod = producers.VisualisationProducer(features=features)
- self.assertEqual(visprod.features, features)
-
- def test_produce(self):
- """Test we can call produce without error"""
- # TODO
- pass
-
- class TestJSONProducer(unittest.TestCase):
- def test_init_empty(self):
- # test with no features -- should raise ValueError
- with self.assertRaises(ValueError):
- producers.JSONProducer(features=None)
-
- def test_init(self):
- # test with features
- feature = MockFeature(interval="")
- features = [feature]
- jsonprod = producers.JSONProducer(features=features)
- self.assertEqual(jsonprod.features, features)
-
- def test_produce(self):
- """Test we can call produce without error"""
- feature = MockFeature(interval="")
- features = [feature]
- jsonprod = producers.JSONProducer(features=features)
- jsonprod.produce()
|