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