test: add tests for calculating the spell price

This commit is contained in:
Johannes Loher 2022-02-13 18:35:15 +01:00
parent de060b381e
commit 666b61ec09
2 changed files with 261 additions and 0 deletions

View file

@ -4,6 +4,35 @@
import en from "../lang/en.json";
function setupPrimitives() {
Object.defineProperties(Number, {
isNumeric: {
value: function (n: unknown) {
if (n instanceof Array) return false;
else if (([null, ""] as unknown[]).includes(n)) return false;
// @ts-expect-error Abusing JavaScript a bit here, but it's the implementation from foundry
return +n === +n;
},
},
fromString: {
value: function (str: unknown) {
if (typeof str !== "string" || !str.length) return NaN;
// Remove whitespace.
str = str.replace(/\s+/g, "");
return Number(str);
},
},
});
Object.defineProperties(Math, {
clamped: {
value: function (num: number, min: number, max: number) {
return Math.min(max, Math.max(num, min));
},
},
});
}
function setupStubs() {
class StubGame {
constructor() {
@ -24,4 +53,5 @@ function setupStubs() {
});
}
setupPrimitives();
setupStubs();