예제 #1
0
        public void GivenNoVersionsVerifyBestMatch()
        {
            var range    = VersionRange.Parse("2.0.0");
            var versions = new SortedSet <NuGetVersion>();

            UnresolvedMessages.GetBestMatch(versions, range).Should().BeNull();
        }
예제 #2
0
        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));
        }
예제 #3
0
        [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));
        }
예제 #4
0
        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"));
        }