feat(core): Add new matchers and improve negation messaging

This commit is contained in:
2025-04-28 20:42:58 +00:00
parent 1847838ac3
commit 9b488a87a0
13 changed files with 300 additions and 21 deletions

View File

@ -53,4 +53,31 @@ export class NumberMatchers {
`Expected number to equal ${value}`
);
}
/**
* Checks for NaN
*/
toBeNaN() {
return this.assertion.customAssertion(
(v) => Number.isNaN(v as number),
`Expected number to be NaN`
);
}
/**
* Checks for finite number
*/
toBeFinite() {
return this.assertion.customAssertion(
(v) => Number.isFinite(v as number),
`Expected number to be finite`
);
}
/**
* Checks if number is within inclusive range
*/
toBeWithinRange(min: number, max: number) {
return this.assertion.customAssertion(
(v) => (v as number) >= min && (v as number) <= max,
`Expected number to be within range ${min} - ${max}`
);
}
}