public void AddTargetExtension_CreatesAndAddsToTargetExtensionFeatureIfItDoesNotExist() { // Arrange var builder = new DefaultRazorProjectEngineBuilder(RazorConfiguration.Default, Mock.Of <RazorProjectFileSystem>()); var expectedExtension = Mock.Of <ICodeTargetExtension>(); // Act builder.AddTargetExtension(expectedExtension); // Assert var feature = Assert.Single(builder.Features); var codeTargetExtensionFeature = Assert.IsAssignableFrom <IRazorTargetExtensionFeature>(feature); var extensions = Assert.Single(codeTargetExtensionFeature.TargetExtensions); Assert.Same(expectedExtension, extensions); }
public void AddTargetExtension_UsesExistingFeatureIfExistsAndAddsTo() { // Arrange var builder = new DefaultRazorProjectEngineBuilder(RazorConfiguration.Default, Mock.Of <RazorProjectFileSystem>()); var codeTargetExtensionFeature = new DefaultRazorTargetExtensionFeature(); builder.Features.Add(codeTargetExtensionFeature); var expectedExtension = Mock.Of <ICodeTargetExtension>(); // Act builder.AddTargetExtension(expectedExtension); // Assert var feature = Assert.Single(builder.Features); Assert.Same(codeTargetExtensionFeature, feature); var extensions = Assert.Single(codeTargetExtensionFeature.TargetExtensions); Assert.Same(expectedExtension, extensions); }