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();
        }
Esempio n. 4
0
 public TestSimpleClassWithOptionsArgAndService(TestSimpleClassOptions options, ITestService testService)
 {
     Options     = options;
     TestService = testService;
 }
Esempio n. 5
0
 public TestSimpleClassWithOptionsArgAsClass(TestSimpleClassOptions options)
 {
     Options = options;
 }