Exemplo n.º 1
0
        public void TestMethod1()
        {
            var version = SemVerRange.Parse("[1.1.11,1.2.0)");

            Console.WriteLine(version.ToString());
            Console.WriteLine(version.LowerBound.Version.ToString());
            Console.WriteLine(version.UpperBound.Version.ToString());
            Assert.AreEqual("1.1.11", version.LowerBound.Version.ToString());
        }
Exemplo n.º 2
0
        public void SemVerRangeTests()
        {
            var semverString = "1.2.32";
            var semver       = new SemVerRange(semverString);

            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.IsNull(semver.LowerBound.Version.Pre);

            semverString = "1.2.32-pre";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.AreEqual("pre", semver.LowerBound.Version.Pre);

            semverString = "1.2.32-beta-*";
            semver       = new SemVerRange(semverString);
            Assert.IsTrue(semver.ToString().StartsWith(semverString.TrimEnd('*')));
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.IsTrue(semver.LowerBound.Version.Pre?.Contains("beta") == true);

            semverString = "1.2.32-pre-543564";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.AreEqual(semver.LowerBound.Version.Pre, "pre-543564");

            semverString = "1.2.32-pre.65456.6545-64-654356";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.AreEqual(semver.LowerBound.Version.Pre, "pre.65456.6545-64-654356");

            semverString = "(1.2.32,)";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreNotEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version?.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.IsNull(semver.LowerBound.Version.Pre);
            Assert.AreEqual(SemVerBoundaryType.Exclusive, semver.LowerBound.BoundaryType);
            Assert.AreEqual(SemVerBoundaryType.Exclusive, semver.UpperBound.BoundaryType);
            Assert.IsNull(semver.UpperBound.Version);

            semverString = "[1.2.32-alpha,)";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreNotEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version?.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.Pre, "alpha");
            Assert.AreEqual(SemVerBoundaryType.Inclusive, semver.LowerBound.BoundaryType);
            Assert.AreEqual(SemVerBoundaryType.Exclusive, semver.UpperBound.BoundaryType);
            Assert.IsNull(semver.UpperBound.Version);


            semverString = "[1.2.32-alpha,2.5.3)";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreNotEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.Pre, "alpha");
            Assert.AreEqual(SemVerBoundaryType.Inclusive, semver.LowerBound.BoundaryType);
            Assert.AreEqual(2, (int)semver.UpperBound.Version.Major);
            Assert.AreEqual(5, (int)semver.UpperBound.Version.Minor);
            Assert.AreEqual(3, (int)semver.UpperBound.Version.Patch);
            Assert.IsNull(semver.UpperBound.Version.Pre);
            Assert.AreEqual(SemVerBoundaryType.Exclusive, semver.UpperBound.BoundaryType);


            semverString = "[1.2.32-alpha,2.5.3-beta]";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreNotEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.Pre, "alpha");
            Assert.AreEqual(SemVerBoundaryType.Inclusive, semver.LowerBound.BoundaryType);
            Assert.AreEqual(2, (int)semver.UpperBound.Version.Major);
            Assert.AreEqual(5, (int)semver.UpperBound.Version.Minor);
            Assert.AreEqual(3, (int)semver.UpperBound.Version.Patch);
            Assert.AreEqual(semver.UpperBound.Version.Pre, "beta");
            Assert.AreEqual(SemVerBoundaryType.Inclusive, semver.UpperBound.BoundaryType);


            semverString = "[1.2.32-alpha]";
            semver       = new SemVerRange(semverString);
            Assert.AreEqual(semverString, semver.ToString());
            Assert.AreEqual(semver.LowerBound.Version.ToString(), semver.UpperBound.Version.ToString());
            Assert.AreEqual(1, (int)semver.LowerBound.Version.Major);
            Assert.AreEqual(2, (int)semver.LowerBound.Version.Minor);
            Assert.AreEqual(32, (int)semver.LowerBound.Version.Patch);
            Assert.AreEqual(semver.LowerBound.Version.Pre, "alpha");
            Assert.AreEqual(SemVerBoundaryType.Inclusive, semver.LowerBound.BoundaryType);
            Assert.AreEqual(SemVerBoundaryType.Inclusive, semver.UpperBound.BoundaryType);

            try
            {
                semver = new SemVerRange("(1.2.32-alpha)"); //<-- should fail
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }