def test_registers_callback_by_type(self): """should create key from type pointing to list containing callback""" m = CallbackManager() cb = callbacks.before_load(lambda: 1) m.register(cb) self.assertEqual(m.callbacks[callbacks.before_load], [cb])
def test_registers_callback_by_type(self): """should create key from type pointing to list containing callback""" m = CallbackManager() cb = callbacks.before_load(lambda: 1) m.register(cb) self.assertEqual( m.callbacks[callbacks.before_load], [cb] )
def test_trigger_callbacks_of_specified_type(self): """should trigger each registered callback""" m = CallbackManager() i = [] def call(arg): arg.append(1) cb = callbacks.before_save(call) m.register(cb) m.register(cb) m.trigger(callbacks.before_save, i) self.assertEqual(len(i), 2)
def test_constructs_from_instance_list(self): """should construct copy when instance passed""" m1 = CallbackManager() m1.callbacks['foo'] = ['bar'] m2 = CallbackManager() m2.callbacks['bar'] = ['baz'] m3 = CallbackManager([m1, m2]) result = m1.callbacks result.update(m2.callbacks) self.assertEqual(result, m3.callbacks) m1.callbacks['foo'] = ['baz'] self.assertEqual(m3.callbacks['foo'], ['bar'])
def test_sets_callbacks(self): """should set callbacks attribute to empty dict""" m = CallbackManager() self.assertTrue(hasattr(m, 'callbacks')) self.assertEqual(m.callbacks, {})