refactor(battlenode): low-churn §B/§D/§E/§F quality cleanups
Behavior-preserving; 231 BattleNode tests green. - §D: MsgEnvelope.Try -> RetryAttempt (drops keyword-escape; wire key stays "try"); SocketIoFrame.AckResponse arg -> pubSeqEcho. - §B: Gungnir.EmitInterval -> BattleNodeOptions.AliveEmitInterval (unused literal moved to its config home); deck-idx 4L -> InitialHand.Length + 1. - §E: shared Wire.WireJsonOptions.CamelCase replaces the duplicated camelCase JsonSerializerOptions in EngineIoHandshake and MsgEnvelope. - §F: do-NOT-consistency-fix polarity notes on TurnEndFinalHandler (From wins) and RetireKillHandler (From loses). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -119,7 +119,7 @@ public class BattleNodeFlowTests
|
||||
|
||||
private static MsgEnvelope MakeEnvelopeWith(long vid, NetworkBattleUri uri, long pubSeq,
|
||||
Dictionary<string, object?>? body = null) =>
|
||||
new(uri, ViewerId: vid, Uuid: "udid-test", Bid: null, Try: 0,
|
||||
new(uri, ViewerId: vid, Uuid: "udid-test", Bid: null, RetryAttempt: 0,
|
||||
Cat: uri == NetworkBattleUri.InitNetwork ? EmitCategory.General
|
||||
: uri == NetworkBattleUri.InitBattle ? EmitCategory.Matching
|
||||
: EmitCategory.Battle,
|
||||
|
||||
@@ -250,7 +250,7 @@ public class CaptureConformanceTests
|
||||
|
||||
private static MsgEnvelope MakeEnvelope(long vid, NetworkBattleUri uri, long pubSeq,
|
||||
Dictionary<string, object?>? body = null) =>
|
||||
new(uri, ViewerId: vid, Uuid: "udid-test", Bid: null, Try: 0,
|
||||
new(uri, ViewerId: vid, Uuid: "udid-test", Bid: null, RetryAttempt: 0,
|
||||
Cat: uri == NetworkBattleUri.InitNetwork ? EmitCategory.General
|
||||
: uri == NetworkBattleUri.InitBattle ? EmitCategory.Matching
|
||||
: EmitCategory.Battle,
|
||||
@@ -287,7 +287,7 @@ public class CaptureConformanceTests
|
||||
|
||||
var body = new SVSim.BattleNode.Protocol.Bodies.PlayActionsBroadcastBody(
|
||||
PlayIdx: 17, Type: 30, KnownList: new[] { entry! }, OppoTargetList: null);
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null, Body: body);
|
||||
|
||||
using var ourDoc = JsonDocument.Parse(MsgEnvelope.ToJson(env));
|
||||
@@ -335,7 +335,7 @@ public class CaptureConformanceTests
|
||||
|
||||
var body = new SVSim.BattleNode.Protocol.Bodies.PlayActionsBroadcastBody(
|
||||
PlayIdx: 38, Type: 30, KnownList: new[] { entry! }, OppoTargetList: null);
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null, Body: body);
|
||||
|
||||
using var ourDoc = JsonDocument.Parse(MsgEnvelope.ToJson(env));
|
||||
@@ -376,7 +376,7 @@ public class CaptureConformanceTests
|
||||
|
||||
var body = new SVSim.BattleNode.Protocol.Bodies.PlayActionsBroadcastBody(
|
||||
PlayIdx: 37, Type: 30, KnownList: null, OppoTargetList: null, UList: relayed);
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null, Body: body);
|
||||
|
||||
using var ourDoc = JsonDocument.Parse(MsgEnvelope.ToJson(env));
|
||||
@@ -455,7 +455,7 @@ public class CaptureConformanceTests
|
||||
var keyActionOut = SVSim.BattleNode.Sessions.Dispatch.KnownListBuilder.StripKeyActionForOpponent(keyActionIn);
|
||||
var body = new SVSim.BattleNode.Protocol.Bodies.PlayActionsBroadcastBody(
|
||||
PlayIdx: 18, Type: 30, KnownList: new[] { played! }, OppoTargetList: null, KeyAction: keyActionOut);
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null, Body: body);
|
||||
|
||||
using var ourDoc = JsonDocument.Parse(MsgEnvelope.ToJson(env));
|
||||
@@ -520,7 +520,7 @@ public class CaptureConformanceTests
|
||||
|
||||
var body = new SVSim.BattleNode.Protocol.Bodies.PlayActionsBroadcastBody(
|
||||
PlayIdx: 46, Type: 30, KnownList: new[] { entry! }, OppoTargetList: null);
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
var env = new MsgEnvelope(NetworkBattleUri.PlayActions, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null, Body: body);
|
||||
|
||||
using var ourDoc = JsonDocument.Parse(MsgEnvelope.ToJson(env));
|
||||
|
||||
@@ -35,7 +35,7 @@ public class MsgEnvelopeTests
|
||||
ViewerId: 906243102,
|
||||
Uuid: "udid-1234",
|
||||
Bid: "597830888107",
|
||||
Try: 0,
|
||||
RetryAttempt: 0,
|
||||
Cat: EmitCategory.General,
|
||||
PubSeq: null,
|
||||
PlaySeq: null,
|
||||
@@ -60,7 +60,7 @@ public class MsgEnvelopeTests
|
||||
ViewerId: 1,
|
||||
Uuid: "u",
|
||||
Bid: null,
|
||||
Try: 0,
|
||||
RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle,
|
||||
PubSeq: null,
|
||||
PlaySeq: 5,
|
||||
@@ -92,7 +92,7 @@ public class MsgEnvelopeTests
|
||||
ViewerId: 1,
|
||||
Uuid: "u",
|
||||
Bid: null,
|
||||
Try: 0,
|
||||
RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle,
|
||||
PubSeq: null,
|
||||
PlaySeq: null,
|
||||
@@ -110,7 +110,7 @@ public class MsgEnvelopeTests
|
||||
ViewerId: 1,
|
||||
Uuid: "u",
|
||||
Bid: null,
|
||||
Try: 0,
|
||||
RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle,
|
||||
PubSeq: null,
|
||||
PlaySeq: null,
|
||||
|
||||
@@ -20,7 +20,7 @@ public class MsgPayloadCodecTests
|
||||
ViewerId: 906243102,
|
||||
Uuid: "udid",
|
||||
Bid: "1234",
|
||||
Try: 0,
|
||||
RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle,
|
||||
PubSeq: 3,
|
||||
PlaySeq: null,
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace SVSim.UnitTests.BattleNode.Reliability;
|
||||
public class OutboundSequencerTests
|
||||
{
|
||||
private static MsgEnvelope MakeEnvelope(NetworkBattleUri uri) =>
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, Try: 0, Cat: EmitCategory.Battle,
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0, Cat: EmitCategory.Battle,
|
||||
PubSeq: null, PlaySeq: null, Body: new RawBody(new Dictionary<string, object?>()));
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -56,7 +56,7 @@ public class BattleSessionDispatchConcurrencyTests
|
||||
}
|
||||
|
||||
private static MsgEnvelope Env(NetworkBattleUri uri) =>
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null,
|
||||
Body: new RawBody(new Dictionary<string, object?>()));
|
||||
|
||||
|
||||
@@ -1068,12 +1068,12 @@ public class BattleSessionDispatchTests
|
||||
BattleType: 11);
|
||||
|
||||
private static MsgEnvelope NewEnvelope(NetworkBattleUri uri) =>
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null,
|
||||
Body: new RawBody(new Dictionary<string, object?>()));
|
||||
|
||||
private static MsgEnvelope EnvWith(NetworkBattleUri uri, Dictionary<string, object?> body) =>
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null, Body: new RawBody(body));
|
||||
|
||||
private static Dictionary<string, object?> MoveOrderList(int idx, int from, int to) => new()
|
||||
|
||||
@@ -47,7 +47,7 @@ public class BattleSessionTerminateCascadeTests
|
||||
}
|
||||
|
||||
private static MsgEnvelope MakeEnvelope(NetworkBattleUri uri) =>
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, Try: 0, Cat: EmitCategory.Battle,
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0, Cat: EmitCategory.Battle,
|
||||
PubSeq: null, PlaySeq: null, Body: new RawBody(new Dictionary<string, object?>()));
|
||||
|
||||
private static MatchContext MakeFakeContext() => new(
|
||||
|
||||
@@ -18,7 +18,7 @@ public class NoOpBotParticipantTests
|
||||
p.FrameEmitted += (_, _) => { fired++; return Task.CompletedTask; };
|
||||
|
||||
var env = new MsgEnvelope(
|
||||
NetworkBattleUri.TurnEnd, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
NetworkBattleUri.TurnEnd, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null,
|
||||
Body: new ResultCodeOnlyBody());
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@ public class RealParticipantTests
|
||||
BattleType: 11);
|
||||
|
||||
private static MsgEnvelope NewEnvelope(NetworkBattleUri uri) =>
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, Try: 0,
|
||||
new(uri, ViewerId: 1, Uuid: "u", Bid: null, RetryAttempt: 0,
|
||||
Cat: EmitCategory.Battle, PubSeq: null, PlaySeq: null,
|
||||
Body: new ResultCodeOnlyBody());
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ public class SocketIoFrameTests
|
||||
[Test]
|
||||
public void Encode_AckResponse_IsTypeIdAndArrayOfArgs()
|
||||
{
|
||||
var frame = SocketIoFrame.AckResponse(ackId: 7, arg: 123);
|
||||
var frame = SocketIoFrame.AckResponse(ackId: 7, pubSeqEcho: 123);
|
||||
var (text, bins) = frame.Encode();
|
||||
|
||||
Assert.That(text, Is.EqualTo("37[123]"));
|
||||
|
||||
Reference in New Issue
Block a user