Fix oxlint violations in CS Major simulator
- Replace non-null assertion (!) with null-safe guard in simulateOneMajor - Replace non-null assertions in test expectations with nullish coalescing - Move makeStage3QPConfig out of describe block (no captured variables) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
712ac70328
commit
a99b67059a
2 changed files with 15 additions and 11 deletions
|
|
@ -319,16 +319,16 @@ describe("simulateChampionsStage", () => {
|
||||||
|
|
||||||
// ─── calcStage3ExitQP ─────────────────────────────────────────────────────────
|
// ─── calcStage3ExitQP ─────────────────────────────────────────────────────────
|
||||||
|
|
||||||
describe("calcStage3ExitQP", () => {
|
// Placements 9–16 with descending QP: 9→80, 10→70, ..., 16→10
|
||||||
function makeStage3QPConfig(): Map<number, number> {
|
function makeStage3QPConfig(): Map<number, number> {
|
||||||
// Placements 9–16 with descending QP: 9→80, 10→70, ..., 16→10
|
const config = new Map<number, number>();
|
||||||
const config = new Map<number, number>();
|
for (let i = 9; i <= 16; i++) {
|
||||||
for (let i = 9; i <= 16; i++) {
|
config.set(i, (17 - i) * 10);
|
||||||
config.set(i, (17 - i) * 10);
|
|
||||||
}
|
|
||||||
return config;
|
|
||||||
}
|
}
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
|
describe("calcStage3ExitQP", () => {
|
||||||
it("returns empty map for empty input", () => {
|
it("returns empty map for empty input", () => {
|
||||||
const result = calcStage3ExitQP([], new Map());
|
const result = calcStage3ExitQP([], new Map());
|
||||||
expect(result.size).toBe(0);
|
expect(result.size).toBe(0);
|
||||||
|
|
@ -376,8 +376,11 @@ describe("calcStage3ExitQP", () => {
|
||||||
const config = makeStage3QPConfig();
|
const config = makeStage3QPConfig();
|
||||||
const result = calcStage3ExitQP(elim, config);
|
const result = calcStage3ExitQP(elim, config);
|
||||||
|
|
||||||
expect(result.get("high")!).toBeGreaterThan(result.get("mid")!);
|
const highQP = result.get("high") ?? 0;
|
||||||
expect(result.get("mid")!).toBeGreaterThan(result.get("low")!);
|
const midQP = result.get("mid") ?? 0;
|
||||||
|
const lowQP = result.get("low") ?? 0;
|
||||||
|
expect(highQP).toBeGreaterThan(midQP);
|
||||||
|
expect(midQP).toBeGreaterThan(lowQP);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -736,7 +736,8 @@ export function simulateOneMajor(
|
||||||
const byPlacement = new Map<number, string[]>();
|
const byPlacement = new Map<number, string[]>();
|
||||||
for (const [pid, placement] of champResult.placements) {
|
for (const [pid, placement] of champResult.placements) {
|
||||||
if (!byPlacement.has(placement)) byPlacement.set(placement, []);
|
if (!byPlacement.has(placement)) byPlacement.set(placement, []);
|
||||||
byPlacement.get(placement)!.push(pid);
|
const group = byPlacement.get(placement);
|
||||||
|
if (group) group.push(pid);
|
||||||
}
|
}
|
||||||
for (const [placement, pids] of byPlacement) {
|
for (const [placement, pids] of byPlacement) {
|
||||||
const slots = Array.from({ length: pids.length }, (_, i) => placement + i);
|
const slots = Array.from({ length: pids.length }, (_, i) => placement + i);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue