Пример #1
0
        public void GetUpdatedPackages_OnePackageReferencedWithConstraintAndUpdatesAvailable_LatestVersionReturnedBasedOnConstraint()
        {
            AddPackageReference("Test", "1.0");
            FakePackage package = AddPackageToSourceRepository("Test", "2.0");

            FakePackage [] expectedPackages = new [] {
                package
            };
            AddPackageToSourceRepository("Test", "3.0");
            var versionSpec = new VersionSpec();

            versionSpec.MinVersion     = new SemanticVersion("1.0");
            versionSpec.IsMinInclusive = true;
            versionSpec.MaxVersion     = new SemanticVersion("2.0");
            versionSpec.IsMaxInclusive = true;
            var constraintProvider = new DefaultConstraintProvider();

            constraintProvider.AddConstraint("Test", versionSpec);
            project.ConstraintProvider = constraintProvider;
            var repository = new FakePackageRepository();

            repository.FakePackages = sourceRepositoryPackages;
            CreateUpdatedPackages(repository);

            IEnumerable <IPackage> packages = updatedPackages.GetUpdatedPackages();

            PackageCollectionAssert.AreEqual(expectedPackages, packages);
        }
        public void ReadPackages_TwoPackagesInSourceRepositoryAndTwoNewerPackageVersionAvailableAndProjectHasConstraint_NewerPackageVersionThatMeetsConstraintIsDisplayed()
        {
            CreateViewModel();
            var versionSpec = new VersionSpec();

            versionSpec.MinVersion     = new SemanticVersion("1.0");
            versionSpec.IsMinInclusive = true;
            versionSpec.MaxVersion     = new SemanticVersion("2.0");
            versionSpec.IsMaxInclusive = true;
            var constraintProvider = new DefaultConstraintProvider();

            constraintProvider.AddConstraint("Test", versionSpec);
            solution.FakeProjectToReturnFromGetProject.ConstraintProvider = constraintProvider;
            AddPackageToLocalRepository("Test", "1.0.0.0");
            AddPackageToActiveRepository("Test", "1.0.0.0");
            FakePackage expectedPackage = AddPackageToActiveRepository("Test", "2.0.0.0");

            AddPackageToActiveRepository("Test", "3.0.0.0");

            viewModel.ReadPackages();
            CompleteReadPackagesTask();

            var expectedPackages = new FakePackage[] {
                expectedPackage
            };

            PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels);
        }
        public void Execute_PackageHasConstraint_LatestPackageIsNotUpdatedButPackageWithHighestVersionThatMatchesConstraint()
        {
            CreateSolution();
            var constraintProvider = new DefaultConstraintProvider();
            var versionSpec        = new VersionSpec();

            versionSpec.MinVersion     = new SemanticVersion("1.0");
            versionSpec.IsMinInclusive = true;
            versionSpec.IsMaxInclusive = true;
            versionSpec.MaxVersion     = new SemanticVersion("2.0");
            constraintProvider.AddConstraint("MyPackage", versionSpec);
            fakeProject.ConstraintProvider = constraintProvider;
            fakeProject.AddFakePackageToSourceRepository("MyPackage", "1.0");
            FakePackage packageVersion2 = fakeProject.AddFakePackageToSourceRepository("MyPackage", "2.0");

            fakeProject.AddFakePackageToSourceRepository("MyPackage", "3.0");
            fakeProject.FakePackages.Add(new FakePackage("MyPackage", "1.0"));
            action.PackageId = "MyPackage";

            action.Execute();

            Assert.AreEqual(packageVersion2, fakeProject.PackagePassedToUpdatePackage);
        }