Esempio n. 1
0
        public void TestDispatch()
        {
            IList <string> emissions = new List <string>();

            EventHandlers eventHandlers =
                EventHandlers.CreateBuilder()
                .Add <TestFibEvent2>(_ => emissions.Add("handled 2 first"))
                .Add <TestFibEvent2>(_ => emissions.Add("handled 2 second"))

                .Add <TestFibEvent3>(_ => emissions.Add("handled 3"))

                .Add <IFibEvent>(_ => emissions.Add("handled generic"))

                .Build();

            TestFibEvent2 testFibEvent2 = new TestFibEvent2();
            TestFibEvent3 testFibEvent3 = new TestFibEvent3();

            eventHandlers.Dispatch(testFibEvent2);
            eventHandlers.Dispatch(testFibEvent3);

            CollectionAssert.AreEqual(
                new[]
            {
                "handled 2 first",
                "handled 2 second",
                "handled generic",
                "handled 3",
                "handled generic"
            },
                emissions);
        }
Esempio n. 2
0
        public void TestAdd()
        {
            ITestFibEvent1 mockTestFibEvent1 = Mock.Of <ITestFibEvent1>();

            Mock.Get(mockTestFibEvent1).Setup(m => m.GetPayload()).Returns("payload");
            TestFibEvent2 testFibEvent2 = new TestFibEvent2();

            int           counter       = 0;
            EventHandlers eventHandlers =
                EventHandlers.CreateBuilder()
                .Add <ITestFibEvent1>(
                    testFibEvent1 => Assert.AreEqual("payload", testFibEvent1.GetPayload()))
                .Add <TestFibEvent2>(e => e.SayHello("Fib"))
                .Add <IFibEvent>(_ => counter++)
                .Build();

            eventHandlers.Dispatch(mockTestFibEvent1);
            eventHandlers.Dispatch(testFibEvent2);

            Assert.AreEqual(2, counter);
            Mock.Get(mockTestFibEvent1).Verify(m => m.GetPayload());
            Mock.Get(mockTestFibEvent1).VerifyNoOtherCalls();
            testFibEvent2.AssertMessageCorrect("Fib");
        }