public void CreateInstance_ForSimpleClassWithOptionsArgAsArgumentAndService_ReturnsSimpleClassOptions() { const string expectedText = "TestText"; var services = new ServiceCollection(); var options = new TestSimpleClassOptions { Value = expectedText }; var service = new TestService(); services.AddSingleton <ITestService>(_ => service); var sp = services.BuildServiceProvider(); // Act var instance = typeof(TestSimpleClassWithOptionsArgAndService).CreateInstance <TestSimpleClassWithOptionsArgAndService>(sp, options); // Assert instance .Should() .NotBeNull(); instance !.Options .Should() .BeSameAs(options); instance.TestService .Should() .BeSameAs(service); }
public void CreateInstance_ForSimpleClassWithOptionsArg_ReturnsSimpleClassOptions() { const string expectedText = "TestText"; var services = new ServiceCollection(); var options = new TestSimpleClassOptions() { Value = expectedText }; services.AddTransient <ITestSimpleClassOptions>(_ => options); var sp = services.BuildServiceProvider(); // Act var instance = typeof(TestSimpleClassWithOptionsArg).CreateInstance <TestSimpleClassWithOptionsArg>(sp); // Assert instance .Should() .NotBeNull(); instance !.Options .Should() .BeSameAs(options); }
public void CreateInstance_ForSimpleClassWithOptionsArgTooMuchArgs_ReturnsNull() { const string expectedText = "TestText"; var services = new ServiceCollection(); var options = new TestSimpleClassOptions { Value = expectedText }; var sp = services.BuildServiceProvider(); // Act var instance = typeof(TestSimpleClassWithOptionsArgAsClass).CreateInstance <TestSimpleClassWithOptionsArgAsClass>(sp, options, "Test"); // Assert instance .Should() .BeNull(); }
public TestSimpleClassWithOptionsArgAndService(TestSimpleClassOptions options, ITestService testService) { Options = options; TestService = testService; }
public TestSimpleClassWithOptionsArgAsClass(TestSimpleClassOptions options) { Options = options; }