up
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
using System.Text.Json;
|
||||
using FluentAssertions;
|
||||
using StellaOps.Replay.Core;
|
||||
using Xunit;
|
||||
|
||||
namespace StellaOps.Replay.Core.Tests;
|
||||
|
||||
public sealed class CanonicalJsonTests
|
||||
{
|
||||
[Fact]
|
||||
public void CanonicalJson_OrdersPropertiesLexicographically()
|
||||
{
|
||||
var payload = new
|
||||
{
|
||||
zeta = 1,
|
||||
alpha = new { z = 9, m = 7 },
|
||||
list = new[] { new { y = 2, x = 1 } }
|
||||
};
|
||||
|
||||
var canonical = CanonicalJson.Serialize(payload);
|
||||
|
||||
canonical.Should().Be("{\"alpha\":{\"m\":7,\"z\":9},\"list\":[{\"x\":1,\"y\":2}],\"zeta\":1}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CanonicalJson_PreservesNumbersAndBooleans()
|
||||
{
|
||||
var payload = JsonSerializer.Deserialize<JsonElement>("{\"b\":true,\"a\":1.25}");
|
||||
|
||||
var canonical = CanonicalJson.Serialize(payload);
|
||||
|
||||
canonical.Should().Be("{\"a\":1.25,\"b\":true}");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user