def runTest(self): sys.stdout.write('\n') # Load an event system events = EventManager( ) #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) # Load rulesets rulesets = RulesetBattery( ) #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) rulesets.load_objects(events, rules) self.assertIsNotNone(events.rules.get('example', None), 'Failed to load test ruleset') # Load plugins! plugins = ReactorBattery( ) #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) plugins.load_objects(events, reactors, 'Plugin') self.assertIsNotNone(events.map.get('example', None), 'Event bindings failed') events.rules['example'].reset_called() # Fire an event! events.trigger(Event('example')) # Test Results! self.assertTrue(events.rules['example'].called, 'Example ruleset not called properly') self.assertTrue(plugins.loaded['Example'].full_test, 'Example reactor not called properly')
def test_loading_rulesets(self): # Test loading rulesets into a battery. # sys.stdout.write('\n') # Add `stddebug=debug` to the constructors here to see debug messages # during the tests. good_battery = RulesetBattery(lambda n: None) bad_battery = RulesetBattery(lambda n: None) # This should fail bad_battery.load_objects(self.events, rules, 'Wrong') self.assertFalse( len(bad_battery.loaded) > 0, 'Rulesets loaded into the wrong battery') # This should do the trick good_battery.load_objects( self.events, rules, ) self.assertTrue( len(good_battery.loaded) > 0, 'Rulesets not loaded by the right battery')