public void FindDependencyPicksHighestMinor() { // Arrange var repository = new MockPackageRepository() { PackageUtility.CreatePackage("B", "1.0"), PackageUtility.CreatePackage("B", "1.0.1"), PackageUtility.CreatePackage("B", "1.0.9"), PackageUtility.CreatePackage("B", "1.1"), PackageUtility.CreatePackage("B", "2.0"), PackageUtility.CreatePackage("B", "3.0") }; // B >= 1.0 PackageDependency dependency1 = PackageDependency.CreateDependency("B", "1.0"); // B >= 1.0.0 PackageDependency dependency2 = PackageDependency.CreateDependency("B", "1.0.0"); // B >= 1.0.0.0 PackageDependency dependency3 = PackageDependency.CreateDependency("B", "1.0.0.0"); // B = 1.0 PackageDependency dependency4 = PackageDependency.CreateDependency("B", "[1.0]"); // B >= 1.0.0 && <= 2.0 PackageDependency dependency5 = PackageDependency.CreateDependency("B", "[1.0.0, 2.0]"); // Act IPackage package1 = repository.ResolveDependency( dependency1, constraintProvider: null, allowPrereleaseVersions: false, preferListedPackages: false, dependencyVersion: DependencyVersion.HighestMinor); IPackage package2 = repository.ResolveDependency( dependency2, constraintProvider: null, allowPrereleaseVersions: false, preferListedPackages: false, dependencyVersion: DependencyVersion.HighestMinor); IPackage package3 = repository.ResolveDependency( dependency3, constraintProvider: null, allowPrereleaseVersions: false, preferListedPackages: false, dependencyVersion: DependencyVersion.HighestMinor); IPackage package4 = repository.ResolveDependency( dependency4, constraintProvider: null, allowPrereleaseVersions: false, preferListedPackages: false, dependencyVersion: DependencyVersion.HighestMinor); IPackage package5 = repository.ResolveDependency( dependency5, constraintProvider: null, allowPrereleaseVersions: false, preferListedPackages: false, dependencyVersion: DependencyVersion.HighestMinor); // Assert Assert.Equal("B", package1.Id); Assert.Equal(new SemanticVersion("1.1"), package1.Version); Assert.Equal("B", package2.Id); Assert.Equal(new SemanticVersion("1.1"), package2.Version); Assert.Equal("B", package3.Id); Assert.Equal(new SemanticVersion("1.1"), package3.Version); Assert.Equal("B", package4.Id); Assert.Equal(new SemanticVersion("1.0"), package4.Version); Assert.Equal("B", package5.Id); Assert.Equal(new SemanticVersion("1.1"), package5.Version); }
public void FindDependencyPicksLowestMajorAndMinorVersionButHighestBuildAndRevision() { // Arrange var repository = new MockPackageRepository() { PackageUtility.CreatePackage("B", "2.0"), PackageUtility.CreatePackage("B", "1.0"), PackageUtility.CreatePackage("B", "1.0.1"), PackageUtility.CreatePackage("B", "1.0.9"), PackageUtility.CreatePackage("B", "1.1") }; // B >= 1.0 PackageDependency dependency1 = PackageDependency.CreateDependency("B", "1.0"); // B >= 1.0.0 PackageDependency dependency2 = PackageDependency.CreateDependency("B", "1.0.0"); // B >= 1.0.0.0 PackageDependency dependency3 = PackageDependency.CreateDependency("B", "1.0.0.0"); // B = 1.0 PackageDependency dependency4 = PackageDependency.CreateDependency("B", "[1.0]"); // B >= 1.0.0 && <= 1.0.8 PackageDependency dependency5 = PackageDependency.CreateDependency("B", "[1.0.0, 1.0.8]"); // Act IPackage package1 = repository.ResolveDependency(dependency1, allowPrereleaseVersions: false, preferListedPackages: false); IPackage package2 = repository.ResolveDependency(dependency2, allowPrereleaseVersions: false, preferListedPackages: false); IPackage package3 = repository.ResolveDependency(dependency3, allowPrereleaseVersions: false, preferListedPackages: false); IPackage package4 = repository.ResolveDependency(dependency4, allowPrereleaseVersions: false, preferListedPackages: false); IPackage package5 = repository.ResolveDependency(dependency5, allowPrereleaseVersions: false, preferListedPackages: false); // Assert Assert.Equal("B", package1.Id); Assert.Equal(new SemanticVersion("1.0.9"), package1.Version); Assert.Equal("B", package2.Id); Assert.Equal(new SemanticVersion("1.0.9"), package2.Version); Assert.Equal("B", package3.Id); Assert.Equal(new SemanticVersion("1.0.9"), package3.Version); Assert.Equal("B", package4.Id); Assert.Equal(new SemanticVersion("1.0"), package4.Version); Assert.Equal("B", package5.Id); Assert.Equal(new SemanticVersion("1.0.1"), package5.Version); }
public void FindDependencyPicksHighestVersionIfNotSpecified() { // Arrange var repository = new MockPackageRepository() { PackageUtility.CreatePackage("B", "2.0"), PackageUtility.CreatePackage("B", "1.0"), PackageUtility.CreatePackage("B", "1.0.1"), PackageUtility.CreatePackage("B", "1.0.9"), PackageUtility.CreatePackage("B", "1.1") }; var dependency = new PackageDependency("B"); // Act IPackage package = repository.ResolveDependency(dependency, allowPrereleaseVersions: false, preferListedPackages: false); // Assert Assert.Equal("B", package.Id); Assert.Equal(new SemanticVersion("2.0"), package.Version); }