public void DiscoveryHandlersNeedingDispatcherTest() { var disp = new CStaticEventHandlersAndDispatcher(); var disc = new MessageHandlerDiscovery(disp); disc.RegisterHandlers(typeof(CStaticEventHandlersAndDispatcher)); disp.ClearFlags(); disp.Post(new EvtSquare()); Assert.AreEqual(true, disp.m_square, "Square"); Assert.AreEqual(false, disp.m_circle, "Circle"); Assert.AreEqual(false, disp.m_shape, "Shape"); Assert.AreEqual(false, disp.m_anything, "Anything"); Assert.AreEqual(1, disp.Count, "Count"); disp.ClearFlags(); disp.Post(new EvtCircle()); Assert.AreEqual(false, disp.m_square, "Square2"); Assert.AreEqual(true, disp.m_circle, "Circle2"); Assert.AreEqual(true, disp.m_shape, "Shape2"); Assert.AreEqual(false, disp.m_anything, "Anything2"); Assert.AreEqual(2, disp.Count, "Coutn2"); }
public void ExactValueTest2() { var dispatcher = new CStaticEventHandlersAndDispatcher(); dispatcher.RegisterHandler <CStaticEventHandlersAndDispatcher>(EShapes.Square, _disp => _disp.m_square = true); dispatcher.ClearFlags(); dispatcher.Post(EShapes.Circle); dispatcher.Post(EShapes.Square); Assert.IsTrue(dispatcher.m_square, "m_square"); Assert.IsFalse(dispatcher.m_circle, "m_circle"); Assert.IsFalse(dispatcher.m_shape, "m_shape"); Assert.IsFalse(dispatcher.m_anything, "m_anything"); Assert.AreEqual(1, dispatcher.EventExecutionCount, "Event Execution Count"); }