// EMPTY_SHIP_GROUPS supplies empty arrays / zero defaults for the
// ancillary report fields added in Phase 19 (ship-groups + fleets),
// Phase 21 (sciences), Phase 22 (races / diplomacy / voting), and
// Phase 23 (full player roster, foreign sciences, foreign ship
// classes, battle ids, bombings, ships in production).
// Test fixtures spread it into their report objects so the fixture
// body still focuses on the fields under test, without forcing
// every spec to enumerate the full GameReport surface.

import type {
	ReportBattle,
	ReportBombing,
	ReportIncomingShipGroup,
	ReportLocalFleet,
	ReportLocalShipGroup,
	ReportOtherRace,
	ReportOtherScience,
	ReportOtherShipClass,
	ReportOtherShipGroup,
	ReportPlayer,
	ReportShipProduction,
	ReportUnidentifiedShipGroup,
	ScienceSummary,
} from "../../src/api/game-state";

export const EMPTY_SHIP_GROUPS: {
	localShipGroups: ReportLocalShipGroup[];
	otherShipGroups: ReportOtherShipGroup[];
	incomingShipGroups: ReportIncomingShipGroup[];
	unidentifiedShipGroups: ReportUnidentifiedShipGroup[];
	localFleets: ReportLocalFleet[];
	otherRaces: string[];
	localScience: ScienceSummary[];
	races: ReportOtherRace[];
	myVotes: number;
	myVoteFor: string;
	players: ReportPlayer[];
	otherScience: ReportOtherScience[];
	otherShipClass: ReportOtherShipClass[];
	battles: ReportBattle[];
	battleIds: string[];
	bombings: ReportBombing[];
	shipProductions: ReportShipProduction[];
} = {
	localShipGroups: [],
	otherShipGroups: [],
	incomingShipGroups: [],
	unidentifiedShipGroups: [],
	localFleets: [],
	otherRaces: [],
	localScience: [],
	races: [],
	myVotes: 0,
	myVoteFor: "",
	players: [],
	otherScience: [],
	otherShipClass: [],
	battles: [],
	battleIds: [],
	bombings: [],
	shipProductions: [],
};
