From 20060a89fd52effe2bcac3cd0ee9ca4451a7fd03 Mon Sep 17 00:00:00 2001 From: hided62 Date: Sun, 26 Jul 2026 09:45:57 +0000 Subject: [PATCH] test: clone fixture general rank data --- hwe/compare/turn_command_trace.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hwe/compare/turn_command_trace.php b/hwe/compare/turn_command_trace.php index 7a989783..9731a6d2 100644 --- a/hwe/compare/turn_command_trace.php +++ b/hwe/compare/turn_command_trace.php @@ -183,6 +183,11 @@ function comparisonApplyTurnFixtureSetup(mixed $setup): void if ($generalTemplate === null) { throw new \InvalidArgumentException('isolateWorld requires at least one existing fixture general'); } + $generalTemplateId = (int)$generalTemplate['no']; + $rankDataTemplate = $db->query( + 'SELECT `type`, `value` FROM rank_data WHERE general_id = %i', + $generalTemplateId, + ); $db->delete('general_turn', 'general_id NOT IN %li', $generalIds); $db->delete('rank_data', 'general_id NOT IN %li', $generalIds); $db->delete('nation_turn', 'nation_id NOT IN %li', $nationIds); @@ -199,6 +204,16 @@ function comparisonApplyTurnFixtureSetup(mixed $setup): void $newGeneral['name'] = "fixture-general-{$generalId}"; $db->insert('general', $newGeneral); } + foreach ($generalIds as $generalId) { + foreach ($rankDataTemplate as $rankRow) { + $rankData = [ + 'general_id' => $generalId, + 'type' => $rankRow['type'], + 'value' => $rankRow['value'], + ]; + $db->insertUpdate('rank_data', $rankData, $rankData); + } + } $db->delete('nation', 'nation NOT IN %li', $nationIds); $db->update('city', [ 'nation' => 0,