Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }