Преглед на файлове

Merge pull request #344 from kalliope-project/fix/341_manage_case_between_order_variables

#341 manage case between order variables
Nicolas Marcq преди 7 години
родител
ревизия
ebaeaeae8d
променени са 2 файла, в които са добавени 27 реда и са изтрити 3 реда
  1. 24 0
      Tests/test_neuron_parameter_loader.py
  2. 3 3
      kalliope/core/NeuronParameterLoader.py

+ 24 - 0
Tests/test_neuron_parameter_loader.py

@@ -171,5 +171,29 @@ class TestNeuronParameterLoader(unittest.TestCase):
         self.assertEqual(NeuronParameterLoader._associate_order_params_to_values(order_user, order_brain),
                          expected_result)
 
+        # Upper/Lower case between multiple variables
+        order_brain = "This Is The {{ variable }} And The {{ variable2 }}"
+        order_user = "ThiS is tHe VAlue aND tHE vAlUe2"
+        expected_result = {'variable': 'VAlue',
+                           'variable2':'vAlUe2'}
+        self.assertEqual(NeuronParameterLoader._associate_order_params_to_values(order_user, order_brain),
+                         expected_result)
+
+        # Upper/Lower case between multiple variables and at the End
+        order_brain = "This Is The {{ variable }} And The {{ variable2 }} And Again"
+        order_user = "ThiS is tHe VAlue aND tHE vAlUe2 and aGAIN"
+        expected_result = {'variable': 'VAlue',
+                           'variable2': 'vAlUe2'}
+        self.assertEqual(NeuronParameterLoader._associate_order_params_to_values(order_user, order_brain),
+                         expected_result)
+
+        # integers variables
+        order_brain = "This Is The {{ variable }} And The {{ variable2 }}"
+        order_user = "ThiS is tHe 1 aND tHE 2"
+        expected_result = {'variable': '1',
+                           'variable2': '2'}
+        self.assertEqual(NeuronParameterLoader._associate_order_params_to_values(order_user, order_brain),
+                         expected_result)
+
 if __name__ == '__main__':
     unittest.main()

+ 3 - 3
kalliope/core/NeuronParameterLoader.py

@@ -17,7 +17,7 @@ class NeuronParameterLoader(object):
         params = dict()
         if Utils.is_containing_bracket(synapse_order):
             params = cls._associate_order_params_to_values(user_order, synapse_order)
-            logger.debug("Parameters for order: %s" % params)
+            logger.debug("[NeuronParameterLoader.get_parameters]Parameters for order: %s" % params)
             # we place the dict of parameters load from order into a cache in Cortex so the user can save it later
             Cortex.add_parameters_from_order(params)
         return params
@@ -32,7 +32,7 @@ class NeuronParameterLoader(object):
         :type order: str
         :return: the dict corresponding to the key / value of the params
         """
-        logger.debug("[OrderAnalyser._associate_order_params_to_values] user order: %s, "
+        logger.debug("[NeuronParameterLoader._associate_order_params_to_values] user order: %s, "
                      "order from synapse: %s" % (order, order_to_check))
 
         list_word_in_order = Utils.remove_spaces_in_brackets(order_to_check).split()
@@ -57,7 +57,7 @@ class NeuronParameterLoader(object):
                     dict_var[var_name] = " ".join(truncate_list_word_said)
                     break
                 for word_said in truncate_list_word_said:
-                    if word_said == stop_value:
+                    if word_said.lower() == stop_value.lower():  # Do not consider the case
                         break
                     if var_name in dict_var:
                         dict_var[var_name] += " " + word_said