public void CreateAggregateRepository_OnePackageSourceHasInvalidUri_NoExceptionThrownWhenCreatingAggregateRepositoryAndSearchingForPackages ()
		{
			CreatePackageSources ();
			packageSourcesHelper.RegisteredPackageSources.Clear ();
			var invalidPackageSource = new PackageSource (String.Empty, "InvalidSource");
			packageSourcesHelper.RegisteredPackageSources.Add (invalidPackageSource);
			var factory = new SharpDevelopPackageRepositoryFactory ();
			CreateCacheUsingPackageSources (factory);
			IPackageRepository repository = cache.CreateAggregateRepository ();
			var aggregateRepository = (MonoDevelopAggregateRepository)repository;

			Assert.IsFalse (aggregateRepository.AnyFailures ());
			Assert.DoesNotThrow (() => repository.Search ("abc", false));
			Assert.IsTrue (aggregateRepository.AnyFailures ());
		}
		public void CreateAggregateRepository_OnePackageSourceHasInvalidUriAndSearchExecutedMultipleTimes_ExceptionThrownByPackageRepositoryIsOnlyRecordedOnce ()
		{
			CreatePackageSources ();
			packageSourcesHelper.RegisteredPackageSources.Clear ();
			var invalidPackageSource = new PackageSource (String.Empty, "InvalidSource");
			packageSourcesHelper.RegisteredPackageSources.Add (invalidPackageSource);
			var factory = new SharpDevelopPackageRepositoryFactory ();
			CreateCacheUsingPackageSources (factory);
			IPackageRepository repository = cache.CreateAggregateRepository ();
			var aggregateRepository = (MonoDevelopAggregateRepository)repository;

			repository.Search ("abc", false);
			repository.Search ("abc", false);
			repository.Search ("abc", false);

			Assert.IsTrue (aggregateRepository.AnyFailures ());
			Assert.AreEqual (1, aggregateRepository.GetAggregateException ().InnerExceptions.Count);
		}
 void AddNuGetPackageReference(IDotNetProject project,string packageId)
 {
     var packageRepoFactory = new SharpDevelopPackageRepositoryFactory();
     var packageRepo = packageRepoFactory.CreateRepository ("http://www.nuget.org/api/v2/");
     var packageManagementProjectFactory = new PackageManagementProjectFactory (PackageManagementServices.PackageManagementEvents);
     var packageManagementProject = packageManagementProjectFactory.CreateProject (packageRepo, project);
     var package = packageRepo.FindPackagesById (packageId).FirstOrDefault (x => x.IsLatestVersion);
     var packageManagerFactory = new SharpDevelopPackageManagerFactory ();
     var packageManager = packageManagerFactory.CreatePackageManager (packageRepo, project);
     packageManager.InstallPackage (package, false, false);
     packageManagementProject.AddPackageReference (package);
 }