public void Resolve_ReturnsEmptyTypesList_IfAssemblyLoadFails()
        {
            // Arrange
            var manager = new ApplicationPartManager();
            var types   = new[] { typeof(TestTagHelper) };

            manager.ApplicationParts.Add(new AssemblyPart(typeof(InputTagHelper).GetTypeInfo().Assembly));
            manager.ApplicationParts.Add(new TestApplicationPart(types));
            manager.FeatureProviders.Add(new TestFeatureProvider());

            var resolver = new FeatureTagHelperTypeResolver(manager);

            // Act
            var result = resolver.Resolve("UnknownAssembly", SourceLocation.Undefined, new ErrorSink());

            // Assert
            Assert.Empty(result);
        }
        public void Resolve_ReturnsTagHelpers_FromApplicationParts()
        {
            // Arrange
            var manager = new ApplicationPartManager();
            var types   = new[] { typeof(TestTagHelper) };

            manager.ApplicationParts.Add(new TestApplicationPart(types));
            manager.FeatureProviders.Add(new TestFeatureProvider());

            var resolver = new FeatureTagHelperTypeResolver(manager);

            var assemblyName = typeof(FeatureTagHelperTypeResolverTest).GetTypeInfo().Assembly.GetName().Name;

            // Act
            var result = resolver.Resolve(assemblyName, SourceLocation.Undefined, new ErrorSink());

            // Assert
            var type = Assert.Single(result);

            Assert.Equal(typeof(TestTagHelper), type);
        }