def test_walk_multiple(self): obj = Object() def callback(): pass ref = [(callback, i) for i in range(5)] for r in ref: add_callback(obj, r[0], r[1]) walk = [] result = True def walker(callback, args): walk.append((callback, args)) return result count = walk_callbacks(obj, walker) self.assertEqual(count, 0) self.assertEqual(walk, ref) self.assertEqual(len(obj._callbacks), 5) walk = [] result = False count = walk_callbacks(obj, walker, n=2) self.assertEqual(count, 2) self.assertEqual(walk, ref[:2]) self.assertEqual(len(obj._callbacks), 3) count = walk_callbacks(obj, walker) self.assertEqual(count, 3) self.assertEqual(walk, ref) self.assertIsNone(obj._callbacks)
def test_walk_one(self): obj = Object() walk = [] result = True def callback(): pass add_callback(obj, callback, ('foo',)) def walker(callback, args): walk.append((callback, args)) return result walk_callbacks(obj, walker) self.assertEqual(walk, [(callback, ('foo',))]) self.assertIsInstance(obj._callbacks, Node) result = False walk_callbacks(obj, walker) self.assertEqual(walk, [(callback, ('foo',))]*2) self.assertIsNone(obj._callbacks)
def test_walk_one(self): obj = Object() walk = [] result = True def callback(): pass add_callback(obj, callback, ('foo', )) def walker(callback, args): walk.append((callback, args)) return result walk_callbacks(obj, walker) self.assertEqual(walk, [(callback, ('foo', ))]) self.assertIsInstance(obj._callbacks, Node) result = False walk_callbacks(obj, walker) self.assertEqual(walk, [(callback, ('foo', ))] * 2) self.assertIsNone(obj._callbacks)