public async Task RunNew() { var cache = new MessageHandlerRegistry(new Conventions()); cache.RegisterHandler(typeof(StubMessageHandler)); cache.RegisterHandler(typeof(StubTimeoutHandler)); var stubMessage = new StubMessage(); var stubTimeout = new StubTimeoutState(); var messageHandler = cache.GetCachedHandlerForMessage <StubMessage>(); var timeoutHandler = cache.GetCachedHandlerForMessage <StubTimeoutState>(); await messageHandler.Invoke(stubMessage, null); await timeoutHandler.Invoke(stubTimeout, null); var startNew = Stopwatch.StartNew(); for (var i = 0; i < 100000; i++) { await messageHandler.Invoke(stubMessage, null); await timeoutHandler.Invoke(stubTimeout, null); } startNew.Stop(); Trace.WriteLine(startNew.ElapsedMilliseconds); }
public async Task Should_invoke_handle_method() { var cache = new MessageHandlerRegistry(new Conventions()); cache.RegisterHandler(typeof(StubHandler)); var handler = cache.GetCachedHandlerForMessage <StubMessage>(); await handler.Invoke(new StubMessage(), null); Assert.IsTrue(((StubHandler)handler.Instance).HandleCalled); }
public async Task Should_have_passed_through_correct_context() { var cache = new MessageHandlerRegistry(new Conventions()); cache.RegisterHandler(typeof(StubHandler)); var handler = cache.GetCachedHandlerForMessage <StubTimeoutState>(); var handlerContext = new TestableMessageHandlerContext(); await handler.Invoke(new StubTimeoutState(), handlerContext); Assert.AreSame(handlerContext, ((StubHandler)handler.Instance).HandlerContext); }
public async Task Should_invoke_timeout_method() { var cache = new MessageHandlerRegistry(new Conventions()); cache.RegisterHandler(typeof(StubHandler)); var handler = cache.GetCachedHandlerForMessage <StubTimeoutState>(); var handlerContext = new TestableMessageHandlerContext(); await handler.Invoke(new StubTimeoutState(), handlerContext); Assert.IsTrue(((StubHandler)handler.Instance).TimeoutCalled); }
public async Task Should_have_passed_through_correct_message() { var cache = new MessageHandlerRegistry(new Conventions()); cache.RegisterHandler(typeof(StubHandler)); var handler = cache.GetCachedHandlerForMessage <StubMessage>(); var stubMessage = new StubMessage(); await handler.Invoke(stubMessage, null); Assert.AreEqual(stubMessage, ((StubHandler)handler.Instance).HandledMessage); }
public async Task Should_have_passed_through_correct_state() { var cache = new MessageHandlerRegistry(); cache.RegisterHandler(typeof(StubHandler)); var stubState = new StubTimeoutState(); var handler = cache.GetCachedHandlerForMessage <StubTimeoutState>(); var handlerContext = new TestableMessageHandlerContext(); await handler.Invoke(stubState, handlerContext); Assert.AreEqual(stubState, ((StubHandler)handler.Instance).HandledState); }