sendou.ink/app/features/build-analyzer/core/utils.test.ts
Kalle fd48bced91
Migrate Prettier/Eslint/Stylelint setup to Biome (#1772)
* Initial

* CSS lint

* Test CI

* Add 1v1, 2v2, and 3v3 Tags (#1771)

* Initial

* CSS lint

* Test CI

* Rename step

---------

Co-authored-by: xi <104683822+ximk@users.noreply.github.com>
2024-06-24 13:07:17 +03:00

48 lines
1.1 KiB
TypeScript

import { suite } from "uvu";
import * as assert from "uvu/assert";
import type { AbilityWithUnknown } from "~/modules/in-game-lists/types";
import { buildToAbilityPoints } from "./utils";
const BuildToAbilityPoints = suite("buildToAbilityPoints()");
const EMPTY_ROW: [
AbilityWithUnknown,
AbilityWithUnknown,
AbilityWithUnknown,
AbilityWithUnknown,
] = ["UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN"];
BuildToAbilityPoints("Calculates ability points", () => {
const aps = buildToAbilityPoints([
["SS", "SS", "RSU", "RSU"],
EMPTY_ROW,
EMPTY_ROW,
]);
assert.equal(aps.get("SS"), 13);
assert.equal(aps.get("RSU"), 6);
assert.equal(aps.get("UNKNOWN"), 38);
});
BuildToAbilityPoints("Handles ability doubler", () => {
const aps = buildToAbilityPoints([
EMPTY_ROW,
["AD", "SS", "UNKNOWN", "UNKNOWN"],
EMPTY_ROW,
]);
assert.equal(aps.get("SS"), 6);
});
BuildToAbilityPoints("Does not calculate AP for main only abilities", () => {
const aps = buildToAbilityPoints([
["LDE", "SS", "RSU", "RSU"],
EMPTY_ROW,
EMPTY_ROW,
]);
assert.not.ok(aps.has("LDE"));
});
BuildToAbilityPoints.run();