public void ShouldThrowValidationExceptionWhenOptionsAreInvalid()
        {
            // Arrange
            var testOptions = new TestOptions();

            var optionsMock = new Mock <IOptions <TestOptions> >();

            optionsMock.Setup(x => x.Value).Returns(testOptions);

            var optionsProvider = new OptionsProvider <TestOptions>(optionsMock.Object);

            // Act + Assert
            ((Action)(() => optionsProvider.Get())).ShouldThrow <ArgumentNullException>().Which.ParamName.Should().Be("Option");
        }
        public void ShouldGetOptions()
        {
            // Arrange
            var testOptions = new TestOptions()
            {
                Option = "option"
            };

            var optionsMock = new Mock <IOptions <TestOptions> >();

            optionsMock.Setup(x => x.Value).Returns(testOptions);

            var optionsValue = new OptionsProvider <TestOptions>(optionsMock.Object);

            // Act + Assert
            optionsValue.Get().Should().BeSameAs(testOptions);
        }
Ejemplo n.º 3
0
        private static (NtradaOptions, OptionsProvider) BuildConfiguration(IServiceCollection services)
        {
            IConfiguration config;

            using (var scope = services.BuildServiceProvider().CreateScope())
            {
                config = scope.ServiceProvider.GetService <IConfiguration>();
            }

            var optionsProvider = new OptionsProvider(config);

            services.AddSingleton <IOptionsProvider>(optionsProvider);
            var configuration = optionsProvider.Get <NtradaOptions>();

            services.AddSingleton(configuration);

            return(configuration, optionsProvider);
        }