chore: optimizing next version handling

This commit is contained in:
Matthias Langhard
2021-11-02 20:54:23 +01:00
parent 38c94e315f
commit f4cfce101d
5 changed files with 163 additions and 64 deletions

View File

@@ -0,0 +1,46 @@
using System.Linq;
using Application.Models;
using Xunit;
namespace UpdateTag.Tests
{
public class VersionInformationTests
{
[Fact]
public void CorrectNextVersionsFromRc()
{
// Arrange
var version = new Version(1, 0, 1, 1);
// Act
var versionInformation = new VersionInformation(version);
var versions = versionInformation.NextVersions.Select(nv => nv.Version.ToString()).ToList();
// Assert
Assert.Contains("1.0.1-RC.2", versions);
Assert.Contains("1.0.1", versions);
Assert.Equal(2, versions.Count);
}
[Fact]
public void CorrectNextVersionsFromMinor()
{
// Arrange
var version = new Version(1, 0, 1);
// Act
var versionInformation = new VersionInformation(version);
var versions = versionInformation.NextVersions.Select(nv => nv.Version.ToString()).ToList();
// Assert
Assert.Contains("1.0.1-RC.0", versions);
Assert.Contains("1.0.2", versions);
Assert.Contains("1.1.0", versions);
Assert.Contains("2.0.0", versions);
Assert.Equal(4, versions.Count);
}
}
}

View File

@@ -9,13 +9,10 @@ namespace UpdateTag.Tests
[InlineData(1, 0, 0, "", "", "2.0.0")]
[InlineData(1, 1, 0, "", "", "2.0.0")]
[InlineData(1, 1, 1, "", "", "2.0.0")]
[InlineData(1, 1, 1, "RC.4", "", "2.0.0")]
[InlineData(1, 1, 1, "RC.4", "ErpNext", "2.0.0+ErpNext")]
public void BumpMajor(int major, int minor, int patch, string rc, string service, string expected)
public void NextMajor(int major, int minor, int patch, string rc, string service, string expected)
{
var version = new Version(major, minor, patch, rc, service);
version.BumpMajor();
var version = new Version(major, minor, patch, rc, service).NextMajor();
Assert.Equal(expected, version.ToString());
}
@@ -24,13 +21,10 @@ namespace UpdateTag.Tests
[InlineData(1, 0, 0, "", "", "1.1.0")]
[InlineData(1, 1, 0, "", "", "1.2.0")]
[InlineData(1, 1, 1, "", "", "1.2.0")]
[InlineData(1, 1, 1, "RC.4", "", "1.2.0")]
[InlineData(1, 1, 1, "RC.4", "ErpNext", "1.2.0+ErpNext")]
public void BumpMinor(int major, int minor, int patch, string rc, string service, string expected)
public void NextMinor(int major, int minor, int patch, string rc, string service, string expected)
{
var version = new Version(major, minor, patch, rc, service);
version.BumpMinor();
var version = new Version(major, minor, patch, rc, service).NextMinor();
Assert.Equal(expected, version.ToString());
}
@@ -38,27 +32,29 @@ namespace UpdateTag.Tests
[InlineData(1, 0, 0, "", "", "1.0.1")]
[InlineData(1, 1, 0, "", "", "1.1.1")]
[InlineData(1, 1, 1, "", "", "1.1.2")]
[InlineData(1, 1, 1, "RC.4", "", "1.1.2")]
[InlineData(1, 1, 1, "RC.4", "ErpNext", "1.1.2+ErpNext")]
public void BumpPatch(int major, int minor, int patch, string rc, string service, string expected)
public void NextPatch(int major, int minor, int patch, string rc, string service, string expected)
{
var version = new Version(major, minor, patch, rc, service);
version.BumpPatch();
var version = new Version(major, minor, patch, rc, service).NextPatch();
Assert.Equal(expected, version.ToString());
}
[Theory]
[InlineData(1, 0, 0, "", "", "1.1.0-RC.0")]
[InlineData(1, 1, 0, "", "", "1.2.0-RC.0")]
[InlineData(1, 1, 1, "", "", "1.2.0-RC.0")]
[InlineData(1, 1, 1, "RC.4", "", "1.1.1-RC.5")]
[InlineData(1, 1, 1, "RC.4", "ErpNext", "1.1.1-RC.5+ErpNext")]
public void BumpRc(int major, int minor, int patch, string rc, string service, string expected)
public void NextRc(int major, int minor, int patch, string rc, string service, string expected)
{
var version = new Version(major, minor, patch, rc, service);
version.BumpRc();
var version = new Version(major, minor, patch, rc, service).NextRc();
Assert.Equal(expected, version.ToString());
}
[Theory]
[InlineData(1, 1, 1, "RC.4", "", "1.1.1")]
[InlineData(1, 1, 1, "RC.4", "ErpNext", "1.1.1+ErpNext")]
public void ReleaseRc(int major, int minor, int patch, string rc, string service, string expected)
{
var version = new Version(major, minor, patch, rc, service).ReleaseRc();
Assert.Equal(expected, version.ToString());
}
}