diff --git a/beat/backend/python/test/test_algorithm.py b/beat/backend/python/test/test_algorithm.py index 31c1197121ce457afe947af8317a77907c172673..a74092c97976120acc33b3d9a01e77e16f0553ca 100644 --- a/beat/backend/python/test/test_algorithm.py +++ b/beat/backend/python/test/test_algorithm.py @@ -325,6 +325,56 @@ class TestAutonomousAPI_Loading(unittest.TestCase): # ---------------------------------------------------------- +class TestLoopAPI_Loading(unittest.TestCase): + def test_load_valid_algorithm(self): + algorithm = Algorithm(prefix, "autonomous/loop/1") + self.assertEqual(algorithm.name, "autonomous/loop/1") + self.assertTrue(algorithm.valid) + + self.assertFalse(algorithm.errors) + self.assertFalse(algorithm.results) # it is not an analyzer + self.assertTrue(algorithm.parameters) + self.assertTrue(algorithm.input_map) + self.assertTrue(algorithm.output_map) + self.assertEqual(algorithm.schema_version, 3) + self.assertEqual(algorithm.api_version, 2) + self.assertEqual(algorithm.type, Algorithm.LOOP) + + runnable = algorithm.runner() + self.assertFalse(runnable.ready) + self.assertTrue( + runnable.prepared + ) # loop/1 has no prepare method so is prepared + + +# ---------------------------------------------------------- + + +class TestLoopUserAPI_Loading(unittest.TestCase): + def test_load_valid_algorithm(self): + algorithm = Algorithm(prefix, "autonomous/loop_user/1") + self.assertEqual(algorithm.name, "autonomous/loop_user/1") + self.assertTrue(algorithm.valid) + + self.assertFalse(algorithm.errors) + self.assertFalse(algorithm.results) # it is not an analyzer + self.assertFalse(algorithm.parameters) # loop_user/1 has no parameter + self.assertTrue(algorithm.input_map) + self.assertTrue(algorithm.output_map) + self.assertEqual(algorithm.schema_version, 3) + self.assertEqual(algorithm.api_version, 2) + self.assertEqual(algorithm.type, Algorithm.AUTONOMOUS_LOOP_USER) + + runnable = algorithm.runner() + self.assertTrue(runnable.ready) # loop_user/1 has no setup method so is ready + self.assertTrue( + runnable.prepared + ) # loop/1 has no prepare method so is prepared + + +# ---------------------------------------------------------- + + class TestLegacyAPI_Setup(unittest.TestCase): def __init__(self, methodName="runTest"): super(TestLegacyAPI_Setup, self).__init__(methodName)