private string GetLatestVersionInCache(bool ignorePrerelease)
        {
            FileSystemProxy.CreateDirectory(PaketCacheDir);
            var zero = new SemVer();

            return(FileSystemProxy.GetDirectories(PaketCacheDir)
                   .Select(Path.GetFileName)
                   .OrderByDescending(x =>
            {
                try
                {
                    var version = SemVer.Create(x);

                    if (ignorePrerelease && version.PreRelease != null)
                    {
                        return zero;
                    }
                    else
                    {
                        return version;
                    }
                }
                catch (Exception)
                {
                    return zero;
                }
            })
                   .FirstOrDefault() ?? "0");
        }
Example #2
0
        public void Compare()
        {
            //arrange

            //act
            var result = SemVer.Create("0.0").CompareTo(SemVer.Create("0.1"));

            //assert
            Assert.That(result, Is.EqualTo(0.CompareTo(1)));
        }
Example #3
0
        public void ComparePrereleaseToStable()
        {
            //arrange

            //act
            var result = SemVer.Create("0.1-pre").CompareTo(SemVer.Create("0.1"));

            //assert
            Assert.That(result, Is.EqualTo(0.CompareTo(1)));
        }
Example #4
0
        public void NormalVersion()
        {
            //arrange

            //act
            var sut = SemVer.Create("2.57.1");

            //assert
            Assert.That(sut.Major, Is.EqualTo(2));
            Assert.That(sut.Minor, Is.EqualTo(57));
            Assert.That(sut.Patch, Is.EqualTo(1));
            Assert.That(sut.Build, Is.EqualTo("0"));
            Assert.That(sut.PreRelease, Is.Null);
            Assert.That(sut.PreReleaseBuild, Is.EqualTo("0"));
            Assert.That(sut.Original, Is.EqualTo("2.57.1"));
        }
Example #5
0
        public void ExtendedPreReleaseWithBuildNumber()
        {
            //arrange

            //act
            var sut = SemVer.Create("2.57.1.456-pre123");

            //assert
            Assert.That(sut.Major, Is.EqualTo(2));
            Assert.That(sut.Minor, Is.EqualTo(57));
            Assert.That(sut.Patch, Is.EqualTo(1));
            Assert.That(sut.Build, Is.EqualTo("456"));
            Assert.That(sut.PreRelease, Is.Not.Null);
            Assert.That(sut.PreRelease.Name, Is.EqualTo("pre"));
            Assert.That(sut.PreRelease.Number, Is.EqualTo(123));
            Assert.That(sut.PreRelease.Origin, Is.EqualTo("pre123"));
            Assert.That(sut.PreReleaseBuild, Is.EqualTo("0"));
            Assert.That(sut.Original, Is.EqualTo("2.57.1.456-pre123"));
        }
Example #6
0
        public void SimplePreRelease()
        {
            //arrange

            //act
            var sut = SemVer.Create("2.57.1-pre");

            //assert
            Assert.That(sut.Major, Is.EqualTo(2));
            Assert.That(sut.Minor, Is.EqualTo(57));
            Assert.That(sut.Patch, Is.EqualTo(1));
            Assert.That(sut.Build, Is.EqualTo("0"));
            Assert.That(sut.PreRelease, Is.Not.Null);
            Assert.That(sut.PreRelease.Name, Is.EqualTo("pre"));
            Assert.That(sut.PreRelease.Number, Is.Null);
            Assert.That(sut.PreRelease.Origin, Is.EqualTo("pre"));
            Assert.That(sut.PreReleaseBuild, Is.EqualTo("0"));
            Assert.That(sut.Original, Is.EqualTo("2.57.1-pre"));
        }