浏览代码

add test for YamlLoader class

nico 8 年之前
父节点
当前提交
c8d48d1933

+ 0 - 0
core/Tests/brain_test.yml


+ 19 - 0
core/Tests/brains/brain_test.yml

@@ -0,0 +1,19 @@
+---
+  - name: "test"
+    signals:
+      - order: "test_order"
+    neurons:
+      - say:
+          message:
+            - "test message"
+
+  - name: "test2"
+    signals:
+      - order: "test_order_2"
+    neurons:
+      - say:
+          message:
+            - "test message"
+
+  - includes:
+    - included_brain_test.yml

+ 8 - 0
core/Tests/brains/included_brain_test.yml

@@ -0,0 +1,8 @@
+---
+  - name: "test3"
+    signals:
+      - order: "test_order_3"
+    neurons:
+      - say:
+          message:
+            - "test message"

+ 35 - 0
core/Tests/test_yaml_loader.py

@@ -0,0 +1,35 @@
+import unittest
+
+from core.ConfigurationManager.YAMLLoader import YAMLFileNotFound, YAMLLoader
+
+
+class TestYAMLLoader(unittest.TestCase):
+    """
+    Class to test YAMLLoader
+    """
+
+    def test_get_config(self):
+
+        valid_file_path_to_test = "core/Tests/brains/brain_test.yml"
+        invalid_file_path = "brains/non_existing_brain.yml"
+        expected_result = [
+            {'signals': [{'order': 'test_order'}],
+             'neurons': [{'say': {'message': ['test message']}}],
+             'name': 'test'},
+            {'signals': [{'order': 'test_order_2'}],
+             'neurons': [{'say': {'message': ['test message']}}],
+             'name': 'test2'},
+            {'includes': ['included_brain_test.yml']},
+            {'signals': [{'order': 'test_order_3'}],
+             'neurons': [{'say': {'message': ['test message']}}],
+             'name': 'test3'}
+        ]
+
+        with self.assertRaises(YAMLFileNotFound):
+            YAMLLoader.get_config(invalid_file_path)
+
+        self.assertEqual(YAMLLoader.get_config(valid_file_path_to_test), expected_result)
+
+
+if __name__ == '__main__':
+    unittest.main()