Loading openflexure_microscope/plugins/testing/__init__.py 0 → 100644 +1 −0 Original line number Diff line number Diff line from .plugin import Plugin No newline at end of file openflexure_microscope/plugins/testing/plugin.py 0 → 100644 +13 −0 Original line number Diff line number Diff line from openflexure_microscope.plugins import MicroscopePlugin class Plugin(MicroscopePlugin): """ A set of default plugins """ def identify(self): """ Tests for access to Microscope.camera, and Microscope.stage """ return (self.microscope.camera, self.microscope.stage) tests/test_plugins.py +49 −7 Original line number Diff line number Diff line Loading @@ -4,19 +4,61 @@ from openflexure_stage import OpenFlexureStage from openflexure_microscope import Microscope, config import atexit import unittest import logging, sys logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) success_string = """ /O | | _____) \\ (__0) \\______ (____0) (____0) EVERYTHING IS OK! (__o)___________ """ class TestPluginMethods(unittest.TestCase): def test_testplugin_load(self): plugin_arr = microscope.plugin.plugins plugin_names = [plugin[0] for plugin in plugin_arr] self.assertTrue('testing' in plugin_names) def test_camera_access(self): identify = microscope.plugin.testing.identify() self.assertTrue(identify[0] is microscope.camera) def test_stage_access(self): identify = microscope.plugin.testing.identify() self.assertTrue(identify[1] is microscope.stage) if __name__ == '__main__': openflexurerc = config.load_config() print(openflexurerc) openflexurerc = { 'plugins': [ 'openflexure_microscope.plugins.testing:Plugin' ] } with StreamingCamera() as camera, OpenFlexureStage("/dev/ttyUSB0") as stage: microscope = Microscope(camera, stage, openflexurerc) suites = [ unittest.TestLoader().loadTestsFromTestCase(TestPluginMethods), ] microscope = Microscope(StreamingCamera(config=openflexurerc), OpenFlexureStage("/dev/ttyUSB0"), config=openflexurerc) alltests = unittest.TestSuite(suites) print(microscope.plugin.plugins) result = unittest.TextTestRunner(verbosity=2).run(alltests) # Check that default tets plugins have loaded print(microscope.plugin.default.identify()) if result.wasSuccessful(): print(success_string) microscope.close() No newline at end of file Loading
openflexure_microscope/plugins/testing/__init__.py 0 → 100644 +1 −0 Original line number Diff line number Diff line from .plugin import Plugin No newline at end of file
openflexure_microscope/plugins/testing/plugin.py 0 → 100644 +13 −0 Original line number Diff line number Diff line from openflexure_microscope.plugins import MicroscopePlugin class Plugin(MicroscopePlugin): """ A set of default plugins """ def identify(self): """ Tests for access to Microscope.camera, and Microscope.stage """ return (self.microscope.camera, self.microscope.stage)
tests/test_plugins.py +49 −7 Original line number Diff line number Diff line Loading @@ -4,19 +4,61 @@ from openflexure_stage import OpenFlexureStage from openflexure_microscope import Microscope, config import atexit import unittest import logging, sys logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) success_string = """ /O | | _____) \\ (__0) \\______ (____0) (____0) EVERYTHING IS OK! (__o)___________ """ class TestPluginMethods(unittest.TestCase): def test_testplugin_load(self): plugin_arr = microscope.plugin.plugins plugin_names = [plugin[0] for plugin in plugin_arr] self.assertTrue('testing' in plugin_names) def test_camera_access(self): identify = microscope.plugin.testing.identify() self.assertTrue(identify[0] is microscope.camera) def test_stage_access(self): identify = microscope.plugin.testing.identify() self.assertTrue(identify[1] is microscope.stage) if __name__ == '__main__': openflexurerc = config.load_config() print(openflexurerc) openflexurerc = { 'plugins': [ 'openflexure_microscope.plugins.testing:Plugin' ] } with StreamingCamera() as camera, OpenFlexureStage("/dev/ttyUSB0") as stage: microscope = Microscope(camera, stage, openflexurerc) suites = [ unittest.TestLoader().loadTestsFromTestCase(TestPluginMethods), ] microscope = Microscope(StreamingCamera(config=openflexurerc), OpenFlexureStage("/dev/ttyUSB0"), config=openflexurerc) alltests = unittest.TestSuite(suites) print(microscope.plugin.plugins) result = unittest.TextTestRunner(verbosity=2).run(alltests) # Check that default tets plugins have loaded print(microscope.plugin.default.identify()) if result.wasSuccessful(): print(success_string) microscope.close() No newline at end of file