Skip to content

Commit d13e174

Browse files
committed
test(cli): align support rank checks with pair limits
1 parent 346065d commit d13e174

1 file changed

Lines changed: 32 additions & 2 deletions

File tree

‎tools/test_cli.py‎

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,14 @@ def main() -> None:
7575
assert run(cli, "catalog", "--type", "items", "--id", "22")["details"]
7676
assert run(cli, "catalog", "--type", "battalion-skills")
7777
assert run(cli, "catalog", "--type", "support-ranks")[-1] == {"rank": "S", "points": 1001}
78+
support_catalog = run(cli, "catalog", "--type", "supports")
79+
assert support_catalog[1]["maximumRank"] == "S"
80+
assert support_catalog[65]["ranks"] == ["None", "C", "B"]
7881

7982
rank_patch = directory / "rank.json"
8083
rank_patch.write_text(json.dumps({"operations": [
8184
{"op": "setProfessorRank", "rank": 9},
82-
{"op": "setSupportRank", "index": 1, "rank": "A+"},
85+
{"op": "setSupportRank", "index": 1, "rank": "A"},
8386
{"op": "setNgPlusSupportRank", "index": 2, "rank": "S"},
8487
]}), encoding="utf-8")
8588
rank_target = directory / "rank-slot00"
@@ -88,10 +91,37 @@ def main() -> None:
8891
assert run(cli, "get", "--input", str(rank_target),
8992
"--path", "Activities.InstructExp")["value"] == 44500
9093
assert run(cli, "inspect", "--input", str(rank_target),
91-
"--section", "supports")["supports"][1]["rank"] == "A+"
94+
"--section", "supports")["supports"][1]["rank"] == "A"
9295
assert run(cli, "inspect", "--input", str(rank_target),
9396
"--section", "inheritance")["inheritance"]["supports"][2]["maxPoints"] == 1001
9497

98+
invalid_rank_patch = directory / "invalid-support-rank.json"
99+
invalid_rank_patch.write_text(json.dumps({"operations": [
100+
{"op": "setSupportRank", "index": 1, "rank": "A+"},
101+
]}), encoding="utf-8")
102+
invalid_rank_target = directory / "invalid-support-rank-slot00"
103+
run(cli, "apply", "--input", str(source), "--patch", str(invalid_rank_patch),
104+
"--output", str(invalid_rank_target), success=False)
105+
assert not invalid_rank_target.exists()
106+
107+
max_rank_patch = directory / "max-support-ranks.json"
108+
max_rank_patch.write_text(json.dumps({"operations": [
109+
{"op": "maxSupportRank", "index": 65},
110+
{"op": "maxNgPlusSupportRank", "index": 65},
111+
{"op": "maxNgPlusSupports"},
112+
]}), encoding="utf-8")
113+
max_rank_target = directory / "max-support-ranks-slot00"
114+
run(cli, "apply", "--input", str(source), "--patch", str(max_rank_patch),
115+
"--output", str(max_rank_target))
116+
assert run(cli, "inspect", "--input", str(max_rank_target),
117+
"--section", "supports")["supports"][65]["rank"] == "B"
118+
max_history = run(cli, "inspect", "--input", str(max_rank_target),
119+
"--section", "inheritance")["inheritance"]["supports"]
120+
assert max_history[0]["maxPoints"] == 1001
121+
assert max_history[35]["maxPoints"] == 0
122+
assert max_history[62]["maxPoints"] == 801
123+
assert max_history[65]["maxPoints"] == 301
124+
95125
item_patch = directory / "character-item.json"
96126
item_patch.write_text(json.dumps({"operations": [
97127
{"op": "setCharacterItem", "slot": 0, "itemSlot": 0, "id": 22},

0 commit comments

Comments
 (0)