diff --git a/.editorconfig b/.editorconfig
index 1308025..0ac32aa 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -426,3 +426,11 @@ dotnet_diagnostic.RCS1102.severity = suggestion
# RCS1213: Remove unused member declaration
dotnet_diagnostic.RCS1213.severity = warning
+
+###############################
+# Test Files
+###############################
+[*Tests.cs]
+
+# Disable async suffix requirement for test methods
+dotnet_naming_rule.async_methods_should_end_with_async.severity = none
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 5f2442b..49f58ad 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -1,5 +1,4 @@
-
true
@@ -19,8 +18,6 @@
-
-
+
-
-
+
\ No newline at end of file
diff --git a/global.json b/global.json
new file mode 100644
index 0000000..3140116
--- /dev/null
+++ b/global.json
@@ -0,0 +1,5 @@
+{
+ "test": {
+ "runner": "Microsoft.Testing.Platform"
+ }
+}
diff --git a/tests/SimpleBranchVersioning.Tests/SimpleBranchVersioning.Tests.csproj b/tests/SimpleBranchVersioning.Tests/SimpleBranchVersioning.Tests.csproj
index 9e26427..fe3a37d 100644
--- a/tests/SimpleBranchVersioning.Tests/SimpleBranchVersioning.Tests.csproj
+++ b/tests/SimpleBranchVersioning.Tests/SimpleBranchVersioning.Tests.csproj
@@ -7,11 +7,7 @@
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/tests/SimpleBranchVersioning.Tests/VersionCalculatorTests.cs b/tests/SimpleBranchVersioning.Tests/VersionCalculatorTests.cs
index bc13213..9c876c7 100644
--- a/tests/SimpleBranchVersioning.Tests/VersionCalculatorTests.cs
+++ b/tests/SimpleBranchVersioning.Tests/VersionCalculatorTests.cs
@@ -1,111 +1,109 @@
-using Xunit;
-
namespace SimpleBranchVersioning.Tests;
public class VersionCalculatorTests
{
- [Theory]
- [InlineData("release/v1.2.3", "abc1234", "1.2.3", "1.2.3+abc1234", "1.2.3.0")]
- [InlineData("release/1.2.3", "abc1234", "1.2.3", "1.2.3+abc1234", "1.2.3.0")]
- [InlineData("release/v0.0.1", "def5678", "0.0.1", "0.0.1+def5678", "0.0.1.0")]
- [InlineData("release/v10.20.30", "ghi9012", "10.20.30", "10.20.30+ghi9012", "10.20.30.0")]
- public void Calculate_ReleaseBranch_ReturnsCorrectVersions(
+ [Test]
+ [Arguments("release/v1.2.3", "abc1234", "1.2.3", "1.2.3+abc1234", "1.2.3.0")]
+ [Arguments("release/1.2.3", "abc1234", "1.2.3", "1.2.3+abc1234", "1.2.3.0")]
+ [Arguments("release/v0.0.1", "def5678", "0.0.1", "0.0.1+def5678", "0.0.1.0")]
+ [Arguments("release/v10.20.30", "ghi9012", "10.20.30", "10.20.30+ghi9012", "10.20.30.0")]
+ public async Task Calculate_ReleaseBranch_ReturnsCorrectVersions(
string branch, string commitId, string expectedVersion, string expectedPackageVersion, string expectedAssemblyVersion)
{
var result = VersionCalculator.Calculate(branch, commitId);
- Assert.Equal(expectedVersion, result.Version);
- Assert.Equal(expectedPackageVersion, result.PackageVersion);
- Assert.Equal(expectedAssemblyVersion, result.AssemblyVersion);
- Assert.Equal(expectedAssemblyVersion, result.FileVersion);
- Assert.Equal(expectedPackageVersion, result.InformationalVersion);
+ await Assert.That(result.Version).IsEqualTo(expectedVersion);
+ await Assert.That(result.PackageVersion).IsEqualTo(expectedPackageVersion);
+ await Assert.That(result.AssemblyVersion).IsEqualTo(expectedAssemblyVersion);
+ await Assert.That(result.FileVersion).IsEqualTo(expectedAssemblyVersion);
+ await Assert.That(result.InformationalVersion).IsEqualTo(expectedPackageVersion);
}
- [Theory]
- [InlineData("release/v1.2.3-beta", "abc1234", "1.2.3-beta", "1.2.3-beta+abc1234", "1.2.3-beta.0")]
- [InlineData("release/v1.2.3-rc.1", "abc1234", "1.2.3-rc.1", "1.2.3-rc.1+abc1234", "1.2.3-rc.1.0")]
- [InlineData("release/1.0.0-alpha", "def5678", "1.0.0-alpha", "1.0.0-alpha+def5678", "1.0.0-alpha.0")]
- public void Calculate_ReleaseBranchWithPrerelease_ReturnsCorrectVersions(
+ [Test]
+ [Arguments("release/v1.2.3-beta", "abc1234", "1.2.3-beta", "1.2.3-beta+abc1234", "1.2.3-beta.0")]
+ [Arguments("release/v1.2.3-rc.1", "abc1234", "1.2.3-rc.1", "1.2.3-rc.1+abc1234", "1.2.3-rc.1.0")]
+ [Arguments("release/1.0.0-alpha", "def5678", "1.0.0-alpha", "1.0.0-alpha+def5678", "1.0.0-alpha.0")]
+ public async Task Calculate_ReleaseBranchWithPrerelease_ReturnsCorrectVersions(
string branch, string commitId, string expectedVersion, string expectedPackageVersion, string expectedAssemblyVersion)
{
var result = VersionCalculator.Calculate(branch, commitId);
- Assert.Equal(expectedVersion, result.Version);
- Assert.Equal(expectedPackageVersion, result.PackageVersion);
- Assert.Equal(expectedAssemblyVersion, result.AssemblyVersion);
+ await Assert.That(result.Version).IsEqualTo(expectedVersion);
+ await Assert.That(result.PackageVersion).IsEqualTo(expectedPackageVersion);
+ await Assert.That(result.AssemblyVersion).IsEqualTo(expectedAssemblyVersion);
}
- [Theory]
- [InlineData("feature/login", "abc1234", "feature.login.abc1234", "0.0.0-feature.login+abc1234")]
- [InlineData("feature/user-auth", "def5678", "feature.user-auth.def5678", "0.0.0-feature.user-auth+def5678")]
- [InlineData("bugfix/issue-42", "ghi9012", "bugfix.issue-42.ghi9012", "0.0.0-bugfix.issue-42+ghi9012")]
- [InlineData("hotfix/critical", "jkl3456", "hotfix.critical.jkl3456", "0.0.0-hotfix.critical+jkl3456")]
- public void Calculate_FeatureOrBugfixBranch_ReturnsCorrectVersions(
+ [Test]
+ [Arguments("feature/login", "abc1234", "feature.login.abc1234", "0.0.0-feature.login+abc1234")]
+ [Arguments("feature/user-auth", "def5678", "feature.user-auth.def5678", "0.0.0-feature.user-auth+def5678")]
+ [Arguments("bugfix/issue-42", "ghi9012", "bugfix.issue-42.ghi9012", "0.0.0-bugfix.issue-42+ghi9012")]
+ [Arguments("hotfix/critical", "jkl3456", "hotfix.critical.jkl3456", "0.0.0-hotfix.critical+jkl3456")]
+ public async Task Calculate_FeatureOrBugfixBranch_ReturnsCorrectVersions(
string branch, string commitId, string expectedVersion, string expectedPackageVersion)
{
var result = VersionCalculator.Calculate(branch, commitId);
- Assert.Equal(expectedVersion, result.Version);
- Assert.Equal(expectedPackageVersion, result.PackageVersion);
- Assert.Equal("0.0.0.0", result.AssemblyVersion);
- Assert.Equal("0.0.0.0", result.FileVersion);
- Assert.Equal(expectedPackageVersion, result.InformationalVersion);
+ await Assert.That(result.Version).IsEqualTo(expectedVersion);
+ await Assert.That(result.PackageVersion).IsEqualTo(expectedPackageVersion);
+ await Assert.That(result.AssemblyVersion).IsEqualTo("0.0.0.0");
+ await Assert.That(result.FileVersion).IsEqualTo("0.0.0.0");
+ await Assert.That(result.InformationalVersion).IsEqualTo(expectedPackageVersion);
}
- [Theory]
- [InlineData("main", "abc1234", "main.abc1234", "0.0.0-main+abc1234")]
- [InlineData("master", "def5678", "master.def5678", "0.0.0-master+def5678")]
- [InlineData("develop", "ghi9012", "develop.ghi9012", "0.0.0-develop+ghi9012")]
- public void Calculate_MainBranch_ReturnsCorrectVersions(
+ [Test]
+ [Arguments("main", "abc1234", "main.abc1234", "0.0.0-main+abc1234")]
+ [Arguments("master", "def5678", "master.def5678", "0.0.0-master+def5678")]
+ [Arguments("develop", "ghi9012", "develop.ghi9012", "0.0.0-develop+ghi9012")]
+ public async Task Calculate_MainBranch_ReturnsCorrectVersions(
string branch, string commitId, string expectedVersion, string expectedPackageVersion)
{
var result = VersionCalculator.Calculate(branch, commitId);
- Assert.Equal(expectedVersion, result.Version);
- Assert.Equal(expectedPackageVersion, result.PackageVersion);
- Assert.Equal("0.0.0.0", result.AssemblyVersion);
+ await Assert.That(result.Version).IsEqualTo(expectedVersion);
+ await Assert.That(result.PackageVersion).IsEqualTo(expectedPackageVersion);
+ await Assert.That(result.AssemblyVersion).IsEqualTo("0.0.0.0");
}
- [Theory]
- [InlineData("user/john/feature", "abc1234", "user.john.feature.abc1234", "0.0.0-user.john.feature+abc1234")]
- [InlineData("refs/heads/main", "def5678", "refs.heads.main.def5678", "0.0.0-refs.heads.main+def5678")]
- public void Calculate_NestedBranch_ReplacesAllSlashes(
+ [Test]
+ [Arguments("user/john/feature", "abc1234", "user.john.feature.abc1234", "0.0.0-user.john.feature+abc1234")]
+ [Arguments("refs/heads/main", "def5678", "refs.heads.main.def5678", "0.0.0-refs.heads.main+def5678")]
+ public async Task Calculate_NestedBranch_ReplacesAllSlashes(
string branch, string commitId, string expectedVersion, string expectedPackageVersion)
{
var result = VersionCalculator.Calculate(branch, commitId);
- Assert.Equal(expectedVersion, result.Version);
- Assert.Equal(expectedPackageVersion, result.PackageVersion);
+ await Assert.That(result.Version).IsEqualTo(expectedVersion);
+ await Assert.That(result.PackageVersion).IsEqualTo(expectedPackageVersion);
}
- [Fact]
- public void Calculate_ReleaseWithoutVersion_TreatedAsNonReleaseBranch()
+ [Test]
+ public async Task Calculate_ReleaseWithoutVersion_TreatedAsNonReleaseBranch()
{
var result = VersionCalculator.Calculate("release/feature-x", "abc1234");
- Assert.Equal("release.feature-x.abc1234", result.Version);
- Assert.Equal("0.0.0-release.feature-x+abc1234", result.PackageVersion);
- Assert.Equal("0.0.0.0", result.AssemblyVersion);
+ await Assert.That(result.Version).IsEqualTo("release.feature-x.abc1234");
+ await Assert.That(result.PackageVersion).IsEqualTo("0.0.0-release.feature-x+abc1234");
+ await Assert.That(result.AssemblyVersion).IsEqualTo("0.0.0.0");
}
- [Theory]
- [InlineData("release/v1.2.3", "abc1234", false, "1.2.3")]
- [InlineData("feature/login", "abc1234", false, "0.0.0-feature.login")]
- [InlineData("main", "def5678", false, "0.0.0-main")]
- public void Calculate_WithoutMetadata_OmitsCommitId(
+ [Test]
+ [Arguments("release/v1.2.3", "abc1234", false, "1.2.3")]
+ [Arguments("feature/login", "abc1234", false, "0.0.0-feature.login")]
+ [Arguments("main", "def5678", false, "0.0.0-main")]
+ public async Task Calculate_WithoutMetadata_OmitsCommitId(
string branch, string commitId, bool includeMetadata, string expectedPackageVersion)
{
var result = VersionCalculator.Calculate(branch, commitId, includeMetadata);
- Assert.Equal(expectedPackageVersion, result.PackageVersion);
- Assert.Equal(expectedPackageVersion, result.InformationalVersion);
+ await Assert.That(result.PackageVersion).IsEqualTo(expectedPackageVersion);
+ await Assert.That(result.InformationalVersion).IsEqualTo(expectedPackageVersion);
}
- [Fact]
- public void Calculate_DefaultIncludesMetadata()
+ [Test]
+ public async Task Calculate_DefaultIncludesMetadata()
{
var result = VersionCalculator.Calculate("release/v1.0.0", "abc1234");
- Assert.Equal("1.0.0+abc1234", result.PackageVersion);
+ await Assert.That(result.PackageVersion).IsEqualTo("1.0.0+abc1234");
}
}