public void Get_ThrowsException_GivenComponentTypeForWhichThereIsNoFactoryAvailable() { // Arrange var factory = CreateFactory <TestComponent1>("Component 1"); var factoryProvider = new ComponentFactoryProvider(new[] { factory }); // Act // Assert Assert.That(() => factoryProvider.Get(typeof(TestComponent2)), Throws.TypeOf <ComponentFactoryNotFoundException>() .With.Message.Contains(typeof(TestComponent2).FullName) .And.Message.Contains(typeof(TestComponent1).FullName)); }
public void Get_ShouldReturnFactory_GivenComponentType() { // Arrange var factory1 = CreateFactory <TestComponent1>("Component 1"); var factory2 = CreateFactory <TestComponent2>("Component 2"); var factory3 = CreateFactory <TestComponent3>("Component 3"); var factoryProvider = new ComponentFactoryProvider(new[] { factory1, factory2, factory3 }); // Act var actual = factoryProvider.Get(typeof(TestComponent2)); // Assert Assert.That(actual, Is.EqualTo(factory2)); }