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"); }
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()); }