public void Create_Returns_New_Instance() { var logger = new TestLogger(); var factory = new UnversionedRequestFactory(logger); factory.RegisterRequest <ITestRequest, TestRequest>(); factory.RegisterRequest <IAnotherRequest, AnotherRequest>(); factory.Create <ITestRequest>(null).Should().BeOfType <TestRequest>(); factory.Create <IAnotherRequest>(null).Should().BeOfType <AnotherRequest>(); }
public void Create_Throws_When_Not_Registered() { var logger = new TestLogger(); var factory = new UnversionedRequestFactory(logger); Action action = () => factory.Create <ITestRequest>(null); action.Should().ThrowExactly <InvalidOperationException>() .WithMessage("Could not find factory for 'ITestRequest'."); logger.ErrorMessages.Should().Contain(new[] { "Could not find factory for 'ITestRequest'." }); }