using System.Text.Json; namespace MoShiro.Protocol.Tests; public sealed class NodeRuntimeStatusTests { [Fact] public void HeartbeatStatus_UsesStableSnakeCaseEnumValues() { var heartbeat = new NodeHeartbeatExtra { RuntimeStatus = NodeRuntimeStatus.Idle }; string json = JsonSerializer.Serialize(heartbeat, MoShiroJsonContext.Default.NodeHeartbeatExtra); Assert.Contains("\"runtime_status\":\"idle\"", json, StringComparison.Ordinal); Assert.Equal(NodeRuntimeStatus.Idle, JsonSerializer.Deserialize(json, MoShiroJsonContext.Default.NodeHeartbeatExtra)!.RuntimeStatus); } }