public void WHEN_known_provider_name_SHOULD_retrieve_instance() { //Arrange var registry = _container.Get <IPaymentProviderRegistry>(); var providerName = GetRandom.String(15); registry.RegisterProvider(providerName, typeof(FakePaymentProvider)); var mockResolver = _container.GetMock <IDependencyResolver>(); mockResolver.Setup(dr => dr.Resolve(It.IsNotNull <Type>())) .Returns(new FakePaymentProvider()); var sut = _container.CreateInstance <PaymentProviderFactory>(); //Act IPaymentProvider provider = sut.ResolveProvider(providerName); //Assert provider.Should().NotBeNull(); provider.ProviderName.Should().Be(providerName); }