public void GetInstance_WithConcreteUncreatableType_ResolvesTypeUsingEvent() { // Arrange var expectedInstance = new RealUserService(new SqlUserRepository()); bool eventCalled = false; var container = ContainerFactory.New(); container.ResolveUnregisteredType += (s, e) => { e.Register(() => expectedInstance); eventCalled = true; }; // Act // IUserRepository wasn't registered. Therefore, the concrete RealUserService type can not be // created without unregistered type resolution. var actualInstance = container.GetInstance <RealUserService>(); // Assert Assert.IsTrue(eventCalled, "The type is expected be resolved by the registered delegate."); Assert.AreEqual(expectedInstance, actualInstance); }
public ConcreteTypeWithConcreteTypeConstructorArgument(RealUserService userService) { }