stabilizaiton work - projects rework for maintenanceability and ui livening

This commit is contained in:
master
2026-02-03 23:40:04 +02:00
parent 074ce117ba
commit 557feefdc3
3305 changed files with 186813 additions and 107843 deletions

View File

@@ -0,0 +1,44 @@
using System.Text;
using StellaOps.TestKit;
using Xunit;
namespace StellaOps.Canonical.Json.Tests;
public partial class CanonVersionTests
{
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CanonicalizeVersioned_IncludesVersionMarker()
{
var obj = new { foo = "bar" };
var canonical = CanonJson.CanonicalizeVersioned(obj);
var json = Encoding.UTF8.GetString(canonical);
Assert.StartsWith("{\"_canonVersion\":\"stella:canon:v1\"", json);
Assert.Contains("\"foo\":\"bar\"", json);
}
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CanonicalizeVersioned_VersionMarkerIsFirst()
{
var obj = new { aaa = 1, zzz = 2 };
var canonical = CanonJson.CanonicalizeVersioned(obj);
var json = Encoding.UTF8.GetString(canonical);
var versionIndex = json.IndexOf("_canonVersion", StringComparison.Ordinal);
var aaaIndex = json.IndexOf("aaa", StringComparison.Ordinal);
Assert.True(versionIndex < aaaIndex);
}
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CanonicalizeVersioned_SortsOtherKeys()
{
var obj = new { z = 3, a = 1, m = 2 };
var canonical = CanonJson.CanonicalizeVersioned(obj);
var json = Encoding.UTF8.GetString(canonical);
Assert.Matches(@"\{""_canonVersion"":""[^""]+"",""a"":1,""m"":2,""z"":3\}", json);
}
}