"""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 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()