using System.Text.Json.Serialization;
internal sealed class ConsoleVerificationReport
{
public string Schema { get; init; } = string.Empty;
public bool HostOnly { get; init; }
public bool GuestExecution { get; init; }
public string Runtime { get; init; } = string.Empty;
public string OperatingSystem { get; init; } = string.Empty;
public ConsolePackage Package { get; init; } = new("", "");
public string SystemConsoleColorPal { get; init; } = string.Empty;
public bool Passed { get; init; }
public Dictionary<string, bool> Assertions { get; init; } = [];
public string[] Lines { get; init; } = [];
public string[] Foreground { get; init; } = [];
public string Transcript { get; init; } = string.Empty;
}
internal sealed record ConsolePackage(string Id, string Version);
[JsonSerializable(typeof(ConsoleVerificationReport))]
[JsonSourceGenerationOptions(WriteIndented = true)]
internal partial class ConsoleReportJsonContext : JsonSerializerContext;
using System.Text.Json.Serialization;
internal sealed class ConsoleVerificationReport
{
public string Schema { get; init; } = string.Empty;
public bool HostOnly { get; init; }
public bool GuestExecution { get; init; }
public string Runtime { get; init; } = string.Empty;
public string OperatingSystem { get; init; } = string.Empty;
public ConsolePackage Package { get; init; } = new("", "");
public string SystemConsoleColorPal { get; init; } = string.Empty;
public bool Passed { get; init; }
public Dictionary<string, bool> Assertions { get; init; } = [];
public string[] Lines { get; init; } = [];
public string[] Foreground { get; init; } = [];
public string Transcript { get; init; } = string.Empty;
}
internal sealed record ConsolePackage(string Id, string Version);
[JsonSerializable(typeof(ConsoleVerificationReport))]
[JsonSourceGenerationOptions(WriteIndented = true)]
internal partial class ConsoleReportJsonContext : JsonSerializerContext;