コード例 #1
0
    def test_When_all_events_are_matched_The_runner_is_removed(self):
        inst = RuleInstances('rule2', rule2, 1, self.context)
        self.assertEqual(len(inst.runners), 0)

        inst.onEvent(Event(service='tellstick', key='switch-1'))
        inst.wait()
        self.assertEqual(len(inst.runners), 1)

        inst.onEvent(Event(service='tellstick', key='switch-2'))
        inst.wait()
        self.assertEqual(len(inst.runners), 0)
コード例 #2
0
ファイル: test_ruleinstances.py プロジェクト: auduny/chains
    def test_When_all_events_are_matched_The_runner_is_removed(self):
        inst = RuleInstances('rule2', rule2, 1, self.context)
        self.assertEqual(len(inst.runners), 0)

        inst.onEvent(Event(service='tellstick', key='switch-1'))
        inst.wait()
        self.assertEqual(len(inst.runners), 1)

        inst.onEvent(Event(service='tellstick', key='switch-2'))
        inst.wait()
        self.assertEqual(len(inst.runners), 0)
コード例 #3
0
ファイル: test_ruleinstances.py プロジェクト: auduny/chains
    def test_When_event_occurs_They_are_passed_to_runner(self):
        inst = RuleInstances('rule2', rule2, 1, self.context)
        self.assertFalse( self.context.test.has_key('event-2.1-seen') )
        self.assertFalse( self.context.test.has_key('event-2.2-seen') )

        inst.onEvent(Event(service='tellstick', key='switch-1'))
        if len(inst.runners) > 0:
            inst.runners[0].wait()
        self.assertTrue( self.context.test.has_key('event-2.1-seen') )
        self.assertFalse( self.context.test.has_key('event-2.2-seen') )

        inst.onEvent(Event(service='tellstick', key='switch-2'))
        if len(inst.runners) > 0:
            inst.runners[0].wait()
        self.assertTrue( self.context.test.has_key('event-2.1-seen') )
        self.assertTrue( self.context.test.has_key('event-2.2-seen') )
コード例 #4
0
 def test_When_maxcount_is_two_Two_and_only_two_runners_are_spawned(self):
     inst = RuleInstances('rule2', rule2, 2, self.context)
     self.assertEqual(len(inst.runners), 0)
     inst.onEvent(Event(service='tellstick', key='switch-1'))
     self.assertEqual(len(inst.runners), 1)
     inst.onEvent(Event(service='tellstick', key='switch-1'))
     self.assertEqual(len(inst.runners), 2)
     inst.onEvent(Event(service='tellstick', key='switch-1'))
     self.assertEqual(len(inst.runners), 2)
コード例 #5
0
ファイル: test_ruleinstances.py プロジェクト: auduny/chains
 def test_When_maxcount_is_two_Two_and_only_two_runners_are_spawned(self):
     inst = RuleInstances('rule2', rule2, 2, self.context)
     self.assertEqual(len(inst.runners), 0)
     inst.onEvent(Event(service='tellstick', key='switch-1'))
     self.assertEqual(len(inst.runners), 1)
     inst.onEvent(Event(service='tellstick', key='switch-1'))
     self.assertEqual(len(inst.runners), 2)
     inst.onEvent(Event(service='tellstick', key='switch-1'))
     self.assertEqual(len(inst.runners), 2)
コード例 #6
0
    def test_When_event_occurs_They_are_passed_to_runner(self):
        inst = RuleInstances('rule2', rule2, 1, self.context)
        self.assertFalse(self.context.test.has_key('event-2.1-seen'))
        self.assertFalse(self.context.test.has_key('event-2.2-seen'))

        inst.onEvent(Event(service='tellstick', key='switch-1'))
        if len(inst.runners) > 0:
            inst.runners[0].wait()
        self.assertTrue(self.context.test.has_key('event-2.1-seen'))
        self.assertFalse(self.context.test.has_key('event-2.2-seen'))

        inst.onEvent(Event(service='tellstick', key='switch-2'))
        if len(inst.runners) > 0:
            inst.runners[0].wait()
        self.assertTrue(self.context.test.has_key('event-2.1-seen'))
        self.assertTrue(self.context.test.has_key('event-2.2-seen'))
コード例 #7
0
ファイル: ruleset.py プロジェクト: olekenneth/chains
 def __init__(self, rules, context):
     self.sets = []
     for rule, config in rules:
         self.sets.append(
             RuleInstances(config['id'], rule, config['maxCount'], context))
コード例 #8
0
ファイル: test_ruleinstances.py プロジェクト: auduny/chains
 def test_When_event_not_matching_first_occur_A_new_runner_is_not_spawned(self):
     inst = RuleInstances('rule2', rule2, 1, self.context)
     self.assertEqual(len(inst.runners), 0)
     inst.onEvent(Event(service='tellstick', key='foo'))
     self.assertEqual(len(inst.runners), 0)
コード例 #9
0
 def test_When_event_not_matching_first_occur_A_new_runner_is_not_spawned(
         self):
     inst = RuleInstances('rule2', rule2, 1, self.context)
     self.assertEqual(len(inst.runners), 0)
     inst.onEvent(Event(service='tellstick', key='foo'))
     self.assertEqual(len(inst.runners), 0)