18 lines
771 B
TypeScript
18 lines
771 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { wow335WarriorDamageShieldReflectDamage } from "./wow335WarriorDamageShieldRuntime";
|
|
|
|
describe("WoW 3.3.5 Warrior Damage Shield generated rank mechanics", () => {
|
|
it.each([
|
|
[1, 100],
|
|
[2, 200],
|
|
] as const)("reflects the generated rank %i percentage of block value", (rank, expected) => {
|
|
expect(wow335WarriorDamageShieldReflectDamage(1_000, rank, true)).toBe(expected);
|
|
});
|
|
|
|
it("does not reflect without rank, block value, or a landed direct melee hit", () => {
|
|
expect(wow335WarriorDamageShieldReflectDamage(1_000, 0, true)).toBe(0);
|
|
expect(wow335WarriorDamageShieldReflectDamage(1_000, 2, false)).toBe(0);
|
|
expect(wow335WarriorDamageShieldReflectDamage(0, 2, true)).toBe(0);
|
|
});
|
|
});
|