39 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|