Example #1
0
        public void CanParseValidSemVers(
            string version,
            int expectedMajor,
            int expectedMinor,
            int expectedPatch,
            string expectedPreReleaseBuildInfo,
            string expectedBuildMeta,
            bool isValid
            )
        {
            if (!isValid)
            {
                var ex = Record.Exception(() => SemVer.FromString(version));
                Assert.IsAssignableFrom <ArgumentException>(ex);

                return;
            }

            var semver = SemVer.FromString(version);

            Assert.Equal(expectedMajor, semver.Major);
            Assert.Equal(expectedMinor, semver.Minor);
            Assert.Equal(expectedPatch, semver.Patch);
            Assert.Equal(expectedPreReleaseBuildInfo, semver.PreRelease);
            Assert.Equal(expectedBuildMeta, semver.BuildMeta);

            if (!string.IsNullOrWhiteSpace(semver.PreRelease))
            {
                Assert.True(semver.IsPreRelease);
            }
        }
        public void BailsOnInvalidSemVers(string version)
        {
            var ex = Assert.Throws <ArgumentException>(() => SemVer.FromString(version));

            Assert.Equal(ex.ParamName, "versionString");
            Assert.Equal(ex.Message, $"Malformed version part: {version}{Environment.NewLine}Parameter name: versionString");
        }
Example #3
0
        public void BailsOnInvalidSemVers(string version)
        {
            var ex = Assert.Throws <ArgumentException>(() => SemVer.FromString(version));

            Assert.Equal("versionString", ex.ParamName);
            Assert.Contains($"Malformed version part: {version}", ex.Message);
        }
        public void CanBumpAndSerializeStringVersion(string version, VersionBump bump, string expectedVersion)
        {
            var semver = SemVer.FromString(version);

            semver.Bump(bump);

            Assert.Equal(semver.ToVersionString(), expectedVersion);
        }
        [InlineData("4.1.3.6.7.8.9", 4, 1, 3)] // too many version numbers
        public void CanParseValidSemVers(string version, int expectedMajor, int expectedMinor, int expectedPatch)
        {
            var semver = SemVer.FromString(version);

            Assert.Equal(expectedMajor, semver.Major);
            Assert.Equal(expectedMinor, semver.Minor);
            Assert.Equal(expectedPatch, semver.Patch);
        }
        public void Bails_when_prerelease_label_is_messy(string version)
        {
            var semver = SemVer.FromString(version);

            var ex  = Record.Exception((() => _bumper.Bump(semver, VersionBump.PreRelease)));
            var aex = Assert.IsAssignableFrom <ArgumentException>(ex);

            Assert.Contains("`label.number`", aex.Message);
        }
        public void Complains_about_prerelease_bump_if_not_already_pre()
        {
            var semver = SemVer.FromString("2.0.0");
            var ex     = Record.Exception((() => _bumper.Bump(semver, VersionBump.PreRelease)));

            var iex = Assert.IsAssignableFrom <InvalidOperationException>(ex);

            Assert.Contains("Cannot Prerelease bump when not", iex.Message);
        }
        public void CanBumpVersions(string version, VersionBump bump, int expectedMajor, int expectedMinor, int expectedPatch)
        {
            var semver = SemVer.FromString(version);

            semver.Bump(bump, version);

            Assert.Equal(expectedMajor, semver.Major);
            Assert.Equal(expectedMinor, semver.Minor);
            Assert.Equal(expectedPatch, semver.Patch);
        }
        public void Bails_when_bump_is_not_supported()
        {
            var ex  = Record.Exception(() => _bumper.Bump(SemVer.FromString("1.0.0"), VersionBump.Unknown));
            var aex = Assert.IsAssignableFrom <ArgumentOutOfRangeException>(ex);

            Assert.Contains(
                "VersionBump : Unknown not supported",
                aex.Message
                );
        }
        public void Respects_custom_pre_release_prefix(
            string version,
            VersionBump bump,
            string expectedVersion,
            string prefix
            )
        {
            var semver = _bumper.Bump(SemVer.FromString(version), bump, preReleasePrefix: prefix);

            Assert.Equal(expectedVersion, semver.ToSemVerVersionString());
        }
        public void CanBumpVersions(
            string version,
            VersionBump bump,
            int expectedMajor,
            int expectedMinor,
            int expectedPatch,
            string expectedPreRelease,
            string expectedBuildMeta
            )
        {
            var semver = _bumper.Bump(
                SemVer.FromString(version),
                bump,
                version
                );

            Assert.Equal(expectedMajor, semver.Major);
            Assert.Equal(expectedMinor, semver.Minor);
            Assert.Equal(expectedPatch, semver.Patch);
            Assert.Equal(expectedPreRelease, semver.PreRelease);
            Assert.Equal(expectedBuildMeta, semver.BuildMeta);
        }
        public void Bails_when_specific_version_empty()
        {
            var ex = Record.Exception(() => _bumper.Bump(SemVer.FromString("1.0.0"), VersionBump.Specific, ""));

            Assert.IsAssignableFrom <ArgumentException>(ex);
        }
        public void CanBumpAndSerializeStringVersion(string version, VersionBump bump, string expectedVersion)
        {
            var semver = _bumper.Bump(SemVer.FromString(version), bump);

            Assert.Equal(expectedVersion, semver.ToSemVerVersionString());
        }