blob: 774dbbc2713d8bf83bd1a78c33bfd0c6eab98c78 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import unittest
import util.ComponentRegistry as compReg
from behaviors.SwitchBehavior import SwitchBehavior
from behaviors.EchoBehavior import EchoBehavior
from behaviors.DebugBehavior import DebugBehavior
class TestSwitchBehavior(unittest.TestCase):
def setUp(self):
compReg.initRegistry()
# add a test registry
self.behavior1 = EchoBehavior({'Id': 'behavior1'})
self.behavior2 = DebugBehavior({'Id': 'behavior2'})
compReg.registerComponent(self.behavior1)
compReg.registerComponent(self.behavior2)
self.switchBehavior = SwitchBehavior({'Id': 'switch', 'PrefixToBehavior': '{"@": "behavior1", "#": "behavior2"}', 'DefaultBehavior': 'behavior1'})
compReg.registerComponent(self.switchBehavior)
def tearDown(self):
pass
def test_switch_to_behavior1(self):
inputs = [{'Data': '@something', 'Location': 'someloc'}]
returned = self.switchBehavior.processResponse(inputs, [])
assert returned[0][0]['Location'] == 'someloc'
def test_switch_to_behavior2(self):
inputs = [{'Data': '#something'}]
returned = self.switchBehavior.processResponse(inputs, [])
assert returned[0] == []
def test_default_behavior(self):
inputs = [{'Data': 'something', 'Location': 'someloc'}]
returned = self.switchBehavior.processResponse(inputs, [])
assert returned[0][0]['Location'] == 'someloc'
if __name__ == '__main__':
unittest.main()
|