public void AddApplicationPart_AddsAnApplicationPart_ToTheListOfPartsOnTheBuilder() { // Arrange var manager = new ApplicationPartManager(); var builder = new MvcCoreBuilder(Mock.Of <IServiceCollection>(), manager); var assembly = typeof(MvcCoreBuilder).Assembly; // Act var result = builder.AddApplicationPart(assembly); // Assert Assert.Same(result, builder); var part = Assert.Single(builder.PartManager.ApplicationParts); var assemblyPart = Assert.IsType <AssemblyPart>(part); Assert.Equal(assembly, assemblyPart.Assembly); }
public void AddApplicationPart_UsesPartFactory_ToRetrieveApplicationParts() { // Arrange var manager = new ApplicationPartManager(); var builder = new MvcCoreBuilder(Mock.Of <IServiceCollection>(), manager); var assembly = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName("Test"), AssemblyBuilderAccess.Run); var attribute = new CustomAttributeBuilder(typeof(ProvideApplicationPartFactoryAttribute).GetConstructor( new[] { typeof(Type) }), new[] { typeof(TestApplicationPartFactory) }); assembly.SetCustomAttribute(attribute); // Act builder.AddApplicationPart(assembly); // Assert var part = Assert.Single(builder.PartManager.ApplicationParts); Assert.Same(TestApplicationPartFactory.TestPart, part); }