public void DeregisterInstanceMethodsTest() { var disp = new Dispatcher(); var disc = new MessageHandlerDiscovery(disp); var x1 = new CInstanceEventHandlers() { Step = 1 }; var x2 = new CInstanceEventHandlers() { Step = 7 }; disc.RegisterInstanceHandlers(x1); disc.RegisterInstanceHandlers(x2); disp.RegisterHandler <object>(x => m_anything = true); var h1 = disp.GetAllHandlers(); Assert.AreEqual(5, h1.Count, "Count after registration"); disp.DeregisterHandlerObject(x2); var h2 = disp.GetAllHandlers(); Assert.AreEqual(3, h2.Count, "Count after Deregistration"); }
public void InstanceMethodHandlersTest() { var disp = new Dispatcher(); var disc = new MessageHandlerDiscovery(disp); var x1 = new CInstanceEventHandlers() { Step = 1 }; var x2 = new CInstanceEventHandlers() { Step = 7 }; disc.RegisterInstanceHandlers(x1); disc.RegisterInstanceHandlers(x2); disp.Post(new EvtShape()); disp.Post(new EvtCircle()); disp.Post(new EvtSquare()); disp.Post(new EvtShape()); disp.Post(new EvtCircle()); disp.Post(new EvtSquare()); Assert.AreEqual(8, disp.EventExecutionCount, "Execution Count"); Assert.AreEqual(2, x1.Circles, "x1 circles"); Assert.AreEqual(2, x1.Squares, "x1 squares"); Assert.AreEqual(14, x2.Circles, "x2 circles"); Assert.AreEqual(14, x2.Squares, "x2 squares"); }