Files
gen1recomp/tests/game3_summary_partner_gender_test.lua
2026-09-23 16:34:15 -04:00

36 lines
1.2 KiB
Lua

#!/usr/bin/env luajit
package.path = "./?.lua;./?/init.lua;" .. package.path
require("tests.game3_cache").mountOrSkip("summary_partner_gender")
local failed = 0
local function eq(a, b, msg)
if a == b then
print("[ok] " .. msg)
else
failed = failed + 1
print(string.format("[FAIL] %s (%s ~= %s)", msg, tostring(a), tostring(b)))
end
end
require("src.core.GameVersion").set("firered")
local SummaryData = require("src.core.game3.summary_data")
eq(SummaryData.gender({ species = 25, level = 14, personality = 175 }), "M",
"wire PIKACHU with no gender field reads male from personality")
eq(SummaryData.gender({ species = 25, level = 14, personality = 3 }), "F",
"wire PIKACHU with a low personality byte reads female")
eq(SummaryData.gender({ species = 113, level = 20, personality = 250 }), "F",
"female-only CHANSEY reads female")
eq(SummaryData.gender({ species = 81, level = 20, personality = 250 }), "",
"genderless MAGNEMITE has no symbol")
eq(SummaryData.gender({ species = 25, gender = "F", personality = 175 }), "F",
"an explicit gender field still wins")
if failed > 0 then
print(failed .. " failure(s)")
os.exit(1)
end
print("summary partner gender: all passed")