Files
git.stella-ops.org/src/Concelier/__Tests/StellaOps.Concelier.Normalization.Tests/ApkVersionParserTests.cs

39 lines
1.0 KiB
C#

using StellaOps.Concelier.Normalization.Distro;
using StellaOps.TestKit;
namespace StellaOps.Concelier.Normalization.Tests;
public sealed class ApkVersionParserTests
{
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ToCanonicalString_RoundTripsExplicitPkgRel()
{
var parsed = ApkVersion.Parse(" 3.1.4-r0 ");
Assert.Equal("3.1.4-r0", parsed.Original);
Assert.Equal("3.1.4-r0", parsed.ToCanonicalString());
}
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ToCanonicalString_SuppressesImplicitPkgRel()
{
var parsed = ApkVersion.Parse("1.2.3_alpha");
Assert.Equal("1.2.3_alpha", parsed.ToCanonicalString());
}
[Trait("Category", TestCategories.Unit)]
[Fact]
public void TryParse_TracksExplicitRelease()
{
var success = ApkVersion.TryParse("2.0.1-r5", out var parsed);
Assert.True(success);
Assert.NotNull(parsed);
Assert.True(parsed!.HasExplicitPkgRel);
Assert.Equal(5, parsed.PkgRel);
}
}