mirror of
https://github.com/zkldi/Tachi.git
synced 2026-09-28 09:58:11 +03:00
38 lines
681 B
TypeScript
38 lines
681 B
TypeScript
import Prudence from "prudence";
|
|
import type { PrudenceSchema } from "prudence";
|
|
|
|
export function isApproximately(
|
|
t: Tap.Test,
|
|
number: number,
|
|
target: number,
|
|
message?: string,
|
|
lenience = 0.01
|
|
) {
|
|
const result = Math.abs(number - target) < lenience;
|
|
|
|
if (!result) {
|
|
return t.fail(`${number} was not close enough to ${target}`, {
|
|
errmsg: `${number} was not close enough to ${target}`,
|
|
});
|
|
}
|
|
|
|
t.pass(message);
|
|
|
|
// return true;
|
|
}
|
|
|
|
export function prAssert(
|
|
t: Tap.Test,
|
|
obj: unknown,
|
|
schema: PrudenceSchema,
|
|
message = "Unnamed Prudence Assertion"
|
|
) {
|
|
const err = Prudence(obj, schema);
|
|
|
|
if (err) {
|
|
return t.fail(message, err);
|
|
}
|
|
|
|
return t.pass(message);
|
|
}
|