Browse Source

[Tests] add missing test for neuron and synapse launchers

- add test to validate the dict in global var 
- add test to validate the overriding parameters when starting synapse by name
ThiBuff 7 years ago
parent
commit
29a81ba628
3 changed files with 37 additions and 1 deletions
  1. 23 0
      Tests/test_neuron_launcher.py
  2. 14 0
      Tests/test_synapse_launcher.py
  3. 0 1
      kalliope/core/NeuronLauncher.py

+ 23 - 0
Tests/test_neuron_launcher.py

@@ -186,6 +186,29 @@ class TestNeuronLauncher(unittest.TestCase):
         self.assertEqual(expected_result, NeuronLauncher._replace_brackets_by_loaded_parameter(neuron_parameters,
                                                                                                loaded_parameters))
 
+        # replacing with variable
+        sl = SettingLoader()
+        sl.settings.variables = {
+            "replaced": {
+                "name": u'replaced successfully'
+            }
+        }
+
+        neuron_parameters = {
+            "param1": "this is a value {{ replaced['name'] }}"
+        }
+
+        loaded_parameters = {
+            "name": "replaced successfully"
+        }
+
+        expected_result = {
+            "param1": "this is a value replaced successfully"
+        }
+
+        self.assertEqual(expected_result, NeuronLauncher._replace_brackets_by_loaded_parameter(neuron_parameters,
+                                                                                               loaded_parameters))
+
     def test_parameters_are_available_in_loaded_parameters(self):
         # the parameter in bracket is available in the dict
         string_parameters = "this is a {{ parameter1 }}"

+ 14 - 0
Tests/test_synapse_launcher.py

@@ -52,6 +52,20 @@ class TestSynapseLauncher(unittest.TestCase):
             expected_result = [[should_be_created_matched_synapse]]
             self.assertEqual(expected_result, LIFOBuffer.lifo_list)
 
+            # we expect that the lifo has been loaded with the synapse to run and overwritten parameters
+            # clean the LiFO
+            LIFOBuffer.lifo_list = list()
+            overriding_param = {
+                "val1": "val"
+            }
+            SynapseLauncher.start_synapse_by_name("Synapse1", brain=self.brain_test,
+                                                  overriding_parameter_dict=overriding_param)
+            should_be_created_matched_synapse = MatchedSynapse(matched_synapse=self.synapse1,
+                                                               overriding_parameter=overriding_param)
+            # we expect that the lifo has been loaded with the synapse to run
+            expected_result = [[should_be_created_matched_synapse]]
+            self.assertEqual(expected_result, LIFOBuffer.lifo_list)
+
         # non existing synapse in the brain
         with self.assertRaises(SynapseNameNotFound):
             SynapseLauncher.start_synapse_by_name("not_existing", brain=self.brain_test)

+ 0 - 1
kalliope/core/NeuronLauncher.py

@@ -72,7 +72,6 @@ class NeuronLauncher:
                 # check that the parameter to replace is available in the loaded_parameters dict
                 if cls._neuron_parameters_are_available_in_loaded_parameters(neuron_parameters, loaded_parameters):
                     # add parameters from global variable into the final loaded parameter dict
-                    # loaded_parameters = cls.merge_with_global_variable_from_settings(loaded_parameters)
                     settings = cls.load_settings()
                     loaded_parameters.update(settings.variables)
                     neuron_parameters = jinja2.Template(neuron_parameters).render(loaded_parameters)