Exemplo n.º 1
0
        public void CustomProviderFactory_HasSameProvidersAsDefault_ExceptHttpHandlerResourceProvider()
        {
            bool customHttpHandlerResourceV3Provider = false;
            var  customProviderItems  = new List <string> ();
            var  defaultProviderItems = new List <string> ();

            // Touch the MonoDevelopNuGetResourceProviderFactory so it initializes the NuGet Respository.Provider.
            // The NuGet addin uses MonoDevelopNuGetResourceProviderFactory directly some parts of NuGet create
            // new SourceRepository instances using Repository.Provider directory.
            var _ = MonoDevelopNuGetResourceProviderFactory.GetProviders();

            foreach (Lazy <INuGetResourceProvider> item in Repository.Provider.GetCoreV3())
            {
                Type type = item.Value.GetType();
                if (type == typeof(MonoDevelopHttpHandlerResourceV3Provider))
                {
                    type = typeof(HttpHandlerResourceV3Provider);
                    customHttpHandlerResourceV3Provider = true;
                }
                customProviderItems.Add(type.Name);
            }

            var defaultProviderFactory = new Repository.ProviderFactory();

            foreach (Lazy <INuGetResourceProvider> item in defaultProviderFactory.GetCoreV3())
            {
                Type type = item.Value.GetType();
                defaultProviderItems.Add(type.Name);
            }

            Assert.AreEqual(defaultProviderItems, customProviderItems);
            Assert.IsTrue(customHttpHandlerResourceV3Provider, "Custom MonoDevelopHttpHandlerResourceV3Provider not used");
        }
Exemplo n.º 2
0
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetCoreV3(this Repository.ProviderFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            return(factory.GetCoreV3());
        }