diff --git a/SVSim.UnitTests/BattleNode/Integration/CaptureConformanceTests.cs b/SVSim.UnitTests/BattleNode/Integration/CaptureConformanceTests.cs index fc780b3..35234ec 100644 --- a/SVSim.UnitTests/BattleNode/Integration/CaptureConformanceTests.cs +++ b/SVSim.UnitTests/BattleNode/Integration/CaptureConformanceTests.cs @@ -31,19 +31,18 @@ namespace SVSim.UnitTests.BattleNode.Integration; /// BattleFinish frame is played immediately whether or not it carries a playSeq). /// The check is on *body shape*. /// -/// Coverage: a single Scripted session emits all ten server-authored URIs +/// Coverage: a two-client PvP session emits all ten server-authored URIs /// (InitNetwork, Matched, BattleStart, Deal, Swap, Ready, TurnStart, TurnEnd, Judge, -/// BattleFinish). PvP uses the same -/// builders for the handshake/mulligan frames, so this transitively covers the PvP handshake shape -/// too. Forwarded frames (PlayActions / TurnEndActions / ChatStamp / TurnEndFinal) relay the +/// BattleFinish). PvP authors the handshake/mulligan frames through the same shared +/// builders, and the turn cycle +/// (TurnStart/TurnEnd/Judge) falls out of the real two-client handover. Forwarded frames +/// (PlayActions / TurnEndActions / ChatStamp / TurnEndFinal) relay the /// client's own bytes verbatim, so their shape is the client's contract, not ours — out of scope /// here. /// [TestFixture] public class CaptureConformanceTests { - private const long ViewerId = 906243102L; - // Top-level keys that are envelope/transport, not body shape. Excluded from the comparison // at the root level only (nested objects never contain these). private static readonly HashSet IgnoredEnvelopeKeys = new()