Example #1
0
        public void ReleaseSatisfies(string versionString, string version, bool result)
        {
            var comparator = VersionComparator.Parse(versionString);

            Assert.NotNull(comparator);
            Assert.Equal(result, comparator.Match(Version.Parse(version)));
        }
Example #2
0
        public void ParseReleaseFloating(string versionString, string version, string releasePrefix)
        {
            var comparator = VersionComparator.Parse(versionString);

            Assert.NotNull(comparator);
            Assert.Equal(VersionFloatBehavior.Prerelease, comparator.FloatBehavior);
            Assert.Equal(releasePrefix, comparator.ReleasePrefix);
        }
Example #3
0
        public void ParseTailOperators(string versionString, string op)
        {
            var comparator = VersionComparator.Parse(versionString);

            Assert.NotNull(comparator);
            Assert.Equal(Version.Parse("1.0"), comparator.Version);
            Assert.Equal(ParseOperator(op), comparator.Operator);
        }
Example #4
0
        public void ParseRevisionFloating(string versionString, string version)
        {
            var comparator = VersionComparator.Parse(versionString);

            Assert.NotNull(comparator);
            Assert.Equal(VersionFloatBehavior.Revision, comparator.FloatBehavior);
            Assert.Equal(Version.Parse(version), comparator.Version);
        }
Example #5
0
        public void ParseMajorFloating()
        {
            var comparator = VersionComparator.Parse("*");

            Assert.NotNull(comparator);
            Assert.Equal(VersionFloatBehavior.Major, comparator.FloatBehavior);
            Assert.Equal(VersionOperator.Equal, comparator.Operator);
            Assert.Equal(new Version(0, 0, 0), comparator.Version);
        }
        public void ParseMissingBoundaryByHyphen(string comparatorString, string boundaryString, bool missingLower)
        {
            var comparator = Assert.IsType <VersionComparator>(VersionComparatorFactory.Parse(comparatorString));
            var boundary   = VersionComparator.Parse(boundaryString);

            Assert.Equal(boundary.Version, comparator.Version);
            Assert.Equal(boundary.FloatBehavior, comparator.FloatBehavior);
            Assert.Equal(boundary.ReleasePrefix, comparator.ReleasePrefix);
            Assert.Equal(missingLower ? VersionOperator.LessThanEqual : VersionOperator.GreaterThanEqual, comparator.Operator);
        }
        public void Should_be_possible_to_compare_two_elements_with_version_dataType_with_equals_operator()
        {
            VersionComparator comparator = new VersionComparator();

            bool compareResult = comparator.Compare("5.7.23", "5.7.23", OperationEnumeration.equals);

            Assert.IsTrue(compareResult, "the value is not expected for equals operation");

            compareResult = comparator.Compare("5.7.21", "5.7.23", OperationEnumeration.equals);
            Assert.IsFalse(compareResult, "the value is not expected for equals operation");
        }
        public void Should_be_possible_to_define_any_separator_for_version_number()
        {
            VersionComparator comparator = new VersionComparator();

            bool compareResult = comparator.Compare("5#7#8", "5#7#8", OperationEnumeration.equals);

            Assert.IsTrue(compareResult, "the value is not expected for equals operation");

            compareResult = comparator.Compare("5#7#8", "5%7%8", OperationEnumeration.equals);
            Assert.IsTrue(compareResult, "the value is not expected for equals operation");
        }
        public void Should_complete_with_zero_the_version_number_when_is_not_complete()
        {
            VersionComparator comparator = new VersionComparator();

            bool compareResult = comparator.Compare("5.7", "5.7.22", OperationEnumeration.lessthanorequal);

            Assert.IsTrue(compareResult, "the value is not expected for equals operation");

            compareResult = comparator.Compare("5.7.8", "5", OperationEnumeration.greaterthan);
            Assert.IsTrue(compareResult, "the value is not expected for equals operation");
        }
        public void ParseVersionByCaret(string comparatorString, string lowerBoundary, string upperBoundary)
        {
            var comparator = Assert.IsType <VersionCompositeComparator>(VersionComparatorFactory.Parse(comparatorString));

            Assert.Equal(2, comparator.Count);
            var lowerComparator = Assert.IsType <VersionComparator>(comparator.First());
            var upperComparator = Assert.IsType <VersionComparator>(comparator[1]);

            Assert.Equal(VersionComparator.Parse(lowerBoundary), lowerComparator);
            Assert.Equal(VersionComparator.Parse(upperBoundary), upperComparator);
        }
 public ModDependencyMetadata(
     string modName,
     VersionNumber requiredVersionUpperBound = null,
     VersionComparator requiredVersionUpperBoundComparator = VersionComparator.None,
     VersionNumber requiredVersionLowerBound = null, VersionComparator
     requiredVersionLowerBoundComparator     = VersionComparator.None)
 {
     ModName = modName;
     RequiredVersionUpperBound           = requiredVersionUpperBound;
     RequiredVersionUpperBoundComparator = requiredVersionUpperBoundComparator;
     RequiredVersionLowerBound           = requiredVersionLowerBound;
     RequiredVersionLowerBoundComparator = requiredVersionLowerBoundComparator;
 }
Example #12
0
        public void Should_be_possible_to_compare_two_elements_with_version_dataType_with_less_than_or_equals_operator()
        {
            VersionComparator comparator = new VersionComparator();

            bool compareResult = comparator.Compare("5.7.22", "5.7.22", OperationEnumeration.lessthanorequal);

            Assert.IsTrue(compareResult, "the value is not expected for equals operation");

            compareResult = comparator.Compare("5.6.1", "5.6.2", OperationEnumeration.lessthanorequal);
            Assert.IsTrue(compareResult, "the value is not expected for equals operation");


            compareResult = comparator.Compare("5.0.0", "5.0.0", OperationEnumeration.lessthanorequal);
            Assert.IsTrue(compareResult, "the value is not expected for equals operation");
        }
Example #13
0
        public RemoteAssemblyState GetAssemblyState(string url, string version)
        {
            bool isRequestForLatestStable         = version == null;
            List <RemoteAssemblyState> candidates = new List <RemoteAssemblyState>();

            foreach (RemoteAssemblyState state in this.RemoteAssemblies)
            {
                if (state.Url == url)
                {
                    if (isRequestForLatestStable)
                    {
                        if (state.IsStable)
                        {
                            // TODO: don't add candidates that aren't marked as stable by the server.
                            // A user could potentially specifically request version-2-alpha, but latest-stable should return version-1-release
                            candidates.Add(state);
                        }
                    }
                    else if (state.Version == version)
                    {
                        candidates.Add(state);
                    }
                }
            }

            if (candidates.Count == 0)
            {
                return(null);
            }
            if (candidates.Count == 1)
            {
                return(candidates[0]);
            }

            VersionComparator vc = new VersionComparator();

            candidates.Sort(new AssemblyComparerByVersion());

            candidates[0].IsLatestStable = true;

            return(candidates[0]);
        }
        public void ParseByHyphen(string comparatorString, string lowerBoundary, string upperBoundary)
        {
            var comparator = Assert.IsType <VersionCompositeComparator>(VersionComparatorFactory.Parse(comparatorString));

            Assert.Equal(2, comparator.Count);
            var lowerComparator = Assert.IsType <VersionComparator>(comparator.First());
            var upperComparator = Assert.IsType <VersionComparator>(comparator[1]);
            var lowerVersion    = VersionComparator.Parse(lowerBoundary);
            var upperVersion    = VersionComparator.Parse(upperBoundary);

            Assert.Equal(lowerVersion.Version, lowerComparator.Version);
            Assert.Equal(upperVersion.Version, upperComparator.Version);
            Assert.Equal(lowerVersion.FloatBehavior, lowerComparator.FloatBehavior);
            Assert.Equal(upperVersion.FloatBehavior, upperComparator.FloatBehavior);
            Assert.Equal(lowerVersion.ReleasePrefix, lowerComparator.ReleasePrefix);
            Assert.Equal(upperVersion.ReleasePrefix, upperComparator.ReleasePrefix);

            Assert.Equal(VersionOperator.GreaterThanEqual, lowerComparator.Operator);
            Assert.Equal(VersionOperator.LessThanEqual, upperComparator.Operator);
        }
        public void ParseSimpleComparator(string comparatorString)
        {
            var comparator = Assert.IsType <VersionComparator>(VersionComparatorFactory.Parse(comparatorString));

            Assert.Equal(VersionComparator.Parse(comparatorString), comparator);
        }
Example #16
0
 public int Compare(string x, string y)
 {
     return(VersionComparator.Compare(x, y));
 }
        public void ParseMajorAndMinorByTilde(string comparatorString, string boundaryString)
        {
            var comparator = Assert.IsType <VersionComparator>(VersionComparatorFactory.Parse(comparatorString));

            Assert.Equal(VersionComparator.Parse(boundaryString), comparator);
        }