示例#1
0
文件: Mbus.cs 项目: xamele0n/Mbus
        public void TestMethod1()
        {
            var setup = new BusSetup().Default();
            Mock <IEventHandler <string> > mock = new Mock <IEventHandler <string> >();

            mock.Setup(x => x.Handle(It.IsAny <object>(), It.IsAny <string>())).Returns <object, string>(Write);
            using (var bus = setup.Build())
            {
                bus.Subscribe <string>(mock.Object.Handle);

                bus.FireAsync(this, "hello").Wait();
                bus.FireAsync(this, "hello").Wait();
                bus.FireAsync(this, "world").Wait();
                mock.Verify(x => x.Handle(It.IsAny <object>(), It.IsAny <string>()), Times.Exactly(3));
            }
        }
示例#2
0
文件: Mbus.cs 项目: xamele0n/Mbus
        public async Task PerformanceTest()
        {
            var setup = new BusSetup().Default();

            using (var bus = setup.Build())
            {
                foreach (var i in Enumerable.Range(1, 1000000))
                {
                    using (bus.Subscribe <EArg>(
                               (o, s) =>
                    {
                        return(Task.FromResult(0));
                    }))
                        using (bus.Subscribe <string>((o, s) => Task.FromResult(0)))
                            using (bus.Subscribe <int>((o, s) => Task.FromResult(0)))
                            {
                                await bus.FireAsync(this, new EArg { Text = "test" });
                            }
                }
            }
        }