public void Dispose_IsIdempotent() { using (var handler = new InboundRequestProcessingHandler(Enumerable.Empty <MessageMethod>())) { handler.Dispose(); handler.Dispose(); } }
public void Handle_NoFastProcessingMethods_ExecuteTask() { using (var handledEvent = new ManualResetEventSlim(initialState: false)) using (var handler = new InboundRequestProcessingHandler(Enumerable.Empty <MessageMethod>())) { var executed = false; Func <Task> task = () => { executed = true; handledEvent.Set(); return(Task.CompletedTask); }; handler.Handle(MessageMethod.Handshake, task, CancellationToken.None); handledEvent.Wait(); Assert.True(executed); } }
public void Handle_ThrowsForDisposedObject() { using (var handledEvent = new ManualResetEventSlim(initialState: false)) { var handler = new InboundRequestProcessingHandler(Enumerable.Empty <MessageMethod>()); var executed = false; Func <Task> task = () => { executed = true; handledEvent.Set(); return(Task.CompletedTask); }; handler.Handle(MessageMethod.Handshake, task, CancellationToken.None); handledEvent.Wait(); Assert.True(executed); handler.Dispose(); // Act & Assert Assert.Throws <ObjectDisposedException>(() => handler.Handle(MessageMethod.Handshake, task, CancellationToken.None)); } }