test_synapse_launcher.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import unittest
  2. import mock
  3. from kalliope.core.Models import Brain
  4. from kalliope.core.Models.Settings import Settings
  5. from kalliope.core.SynapseLauncher import SynapseLauncher, SynapseNameNotFound
  6. from kalliope.core.Models import Neuron
  7. from kalliope.core.Models import Order
  8. from kalliope.core.Models import Synapse
  9. class TestSynapseLauncher(unittest.TestCase):
  10. """
  11. Test the class SynapseLauncher
  12. """
  13. def setUp(self):
  14. # Init
  15. neuron1 = Neuron(name='neurone1', parameters={'var1': 'val1'})
  16. neuron2 = Neuron(name='neurone2', parameters={'var2': 'val2'})
  17. neuron3 = Neuron(name='neurone3', parameters={'var3': 'val3'})
  18. neuron4 = Neuron(name='neurone4', parameters={'var4': 'val4'})
  19. signal1 = Order(sentence="this is the sentence")
  20. signal2 = Order(sentence="this is the second sentence")
  21. signal3 = Order(sentence="that is part of the third sentence")
  22. self.synapse1 = Synapse(name="Synapse1", neurons=[neuron1, neuron2], signals=[signal1])
  23. self.synapse2 = Synapse(name="Synapse2", neurons=[neuron3, neuron4], signals=[signal2])
  24. self.synapse3 = Synapse(name="Synapse3", neurons=[neuron2, neuron4], signals=[signal3])
  25. all_synapse_list = [self.synapse1,
  26. self.synapse2,
  27. self.synapse3]
  28. self.brain_test = Brain(synapses=all_synapse_list)
  29. self.settings_test = Settings(default_synapse="Synapse3")
  30. def test_match_synapse1(self):
  31. with mock.patch("kalliope.core.NeuronLauncher.start_neuron_list"):
  32. order_to_match = "this is the sentence"
  33. expected_result = [self.synapse1]
  34. self.assertEqual(expected_result,
  35. SynapseLauncher.run_matching_synapse_or_default(order_to_match,
  36. brain=self.brain_test,
  37. settings=self.settings_test))
  38. def test_match_synapse1_and_2(self):
  39. with mock.patch("kalliope.core.NeuronLauncher.start_neuron_list"):
  40. order_to_match = "this is the second sentence"
  41. expected_result = [self.synapse1, self.synapse2]
  42. self.assertEqual(expected_result,
  43. SynapseLauncher.run_matching_synapse_or_default(order_to_match,
  44. brain=self.brain_test,
  45. settings=self.settings_test))
  46. def test_match_default_synapse(self):
  47. with mock.patch("kalliope.core.NeuronLauncher.start_neuron"):
  48. order_to_match = "this is an invalid order"
  49. expected_result = [self.synapse3]
  50. self.assertEqual(expected_result,
  51. SynapseLauncher.run_matching_synapse_or_default(order_to_match,
  52. brain=self.brain_test,
  53. settings=self.settings_test))
  54. def test_start_synapse(self):
  55. with mock.patch("kalliope.core.NeuronLauncher.start_neuron"):
  56. expected_result = self.synapse1
  57. self.assertEqual(expected_result,
  58. SynapseLauncher.start_synapse("Synapse1", brain=self.brain_test))
  59. with self.assertRaises(SynapseNameNotFound):
  60. SynapseLauncher.start_synapse(name="no_do_exist", brain=self.brain_test)