public void ConfigureAfterRazorViewEngineOptionsSetupIsExecuted_CorrectlySetsUpOptimizationLevel()
        {
            // Arrange
            var dependencyContextOptions = new DependencyContextOptions(
                new[] { "MyDefine" },
                languageVersion: null,
                platform: null,
                allowUnsafe: null,
                warningsAsErrors: null,
                optimize: true,
                keyFile: null,
                delaySign: null,
                publicSign: null,
                debugType: null,
                emitEntryPoint: null,
                generateXmlDocumentation: null);
            var dependencyContextSetup = new TestableDependencyContextOptionsSetup(dependencyContextOptions);
            var options            = new RazorViewEngineOptions();
            var hostingEnvironment = new Mock <IHostingEnvironment>();

            hostingEnvironment.SetupGet(e => e.EnvironmentName)
            .Returns("Development");
#pragma warning disable 0618
            var viewEngineSetup = new RazorViewEngineOptionsSetup(hostingEnvironment.Object);
#pragma warning restore 0618

            // Act
            viewEngineSetup.Configure(options);
            dependencyContextSetup.Configure(options);

            // Assert
            Assert.Equal(OptimizationLevel.Release, options.CompilationOptions.OptimizationLevel);
        }
        public void RazorViewEngineOptionsSetup_SetsUpFileProvider()
        {
            // Arrange
            var options    = new RazorViewEngineOptions();
            var expected   = Mock.Of <IFileProvider>();
            var hostingEnv = new Mock <IHostingEnvironment>();

            hostingEnv.SetupGet(e => e.ContentRootFileProvider)
            .Returns(expected);
            var optionsSetup = new RazorViewEngineOptionsSetup(hostingEnv.Object);

            // Act
            optionsSetup.Configure(options);

            // Assert
            var fileProvider = Assert.Single(options.FileProviders);

            Assert.Same(expected, fileProvider);
        }