public void GivenNoVersionsVerifyBestMatch() { var range = VersionRange.Parse("2.0.0"); var versions = new SortedSet <NuGetVersion>(); UnresolvedMessages.GetBestMatch(versions, range).Should().BeNull(); }
public void GivenRangeOf1To2VerifyBestMatch(string expected, string versionStrings) { var range = VersionRange.Parse("[1.0.0, 2.0.0]"); var versions = new SortedSet <NuGetVersion>(versionStrings.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(NuGetVersion.Parse)); UnresolvedMessages.GetBestMatch(versions, range).Should().BeEquivalentTo(NuGetVersion.Parse(expected)); }
[InlineData("[1.*, 2.0.0]", "3.0.0", "0.1.0,0.3.0,3.0.0,4.0.0")] // lower bound, upper bound, floating - Version immediately above upper bound chosen public void GivenVersionRangeVerifyBestMatch(string versionRange, string expectedVersion, string versionStrings) { var range = VersionRange.Parse(versionRange); var versions = new SortedSet <NuGetVersion>(versionStrings.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(NuGetVersion.Parse)); Assert.Null(range.FindBestMatch(versions)); UnresolvedMessages.GetBestMatch(versions, range).Should().BeEquivalentTo(NuGetVersion.Parse(expectedVersion)); }
public void GivenARangeWithExclusiveBoundsVerifyExactMatchesCanStillBeSelectedForUpper() { var range = VersionRange.Parse("(1.0.0, 2.0.0)"); var versions = new SortedSet <NuGetVersion>() { NuGetVersion.Parse("2.0.0") }; UnresolvedMessages.GetBestMatch(versions, range).Should().BeEquivalentTo(NuGetVersion.Parse("2.0.0")); }