public void WithFallbackMessageHandlerImplementationFunction_WithoutImplementationFunction_Throws() { // Arrange var services = new MessageHandlerCollection(new ServiceCollection()); // Act / Assert Assert.ThrowsAny <ArgumentException>( () => services.WithFallbackMessageHandler(createImplementation: (Func <IServiceProvider, PassThruFallbackMessageHandler>)null)); }
public void WithFallbackMessageHandler_WithoutImplementationFactory_Fails() { // Arrange var services = new MessageHandlerCollection(new ServiceCollection()); // Act / Assert Assert.ThrowsAny <ArgumentException>( () => services.WithFallbackMessageHandler <PassThruFallbackMessageHandler>(createImplementation: null)); }
public void WithFallbackMessageHandler_WithValidType_RegistersInterface() { // Arrange var services = new MessageHandlerCollection(new ServiceCollection()); // Act services.WithFallbackMessageHandler <PassThruFallbackMessageHandler>(); // Assert IServiceProvider provider = services.Services.BuildServiceProvider(); var messageHandler = provider.GetRequiredService <IFallbackMessageHandler>(); Assert.IsType <PassThruFallbackMessageHandler>(messageHandler); }
public void WithFallbackMessageHandler_WithValidImplementationFunction_RegistersInterface() { // Arrange var services = new MessageHandlerCollection(new ServiceCollection()); var expected = new PassThruFallbackMessageHandler(); // Act services.WithFallbackMessageHandler(serviceProvider => expected); // Assert IServiceProvider provider = services.Services.BuildServiceProvider(); var actual = provider.GetRequiredService <IFallbackMessageHandler>(); Assert.Same(expected, actual); }