fix(assertion-matchers): Refactor matcher implementations to consistently use customAssertion for improved consistency and clarity.
This commit is contained in:
@ -7,26 +7,50 @@ export class NumberMatchers {
|
||||
constructor(private assertion: Assertion<number>) {}
|
||||
|
||||
toBeGreaterThan(value: number) {
|
||||
return this.assertion.toBeGreaterThan(value);
|
||||
return this.assertion.customAssertion(
|
||||
(v) => (v as number) > value,
|
||||
`Expected number to be greater than ${value}`
|
||||
);
|
||||
}
|
||||
|
||||
toBeLessThan(value: number) {
|
||||
return this.assertion.toBeLessThan(value);
|
||||
return this.assertion.customAssertion(
|
||||
(v) => (v as number) < value,
|
||||
`Expected number to be less than ${value}`
|
||||
);
|
||||
}
|
||||
|
||||
toBeGreaterThanOrEqual(value: number) {
|
||||
return this.assertion.toBeGreaterThanOrEqual(value);
|
||||
return this.assertion.customAssertion(
|
||||
(v) => (v as number) >= value,
|
||||
`Expected number to be greater than or equal to ${value}`
|
||||
);
|
||||
}
|
||||
|
||||
toBeLessThanOrEqual(value: number) {
|
||||
return this.assertion.toBeLessThanOrEqual(value);
|
||||
return this.assertion.customAssertion(
|
||||
(v) => (v as number) <= value,
|
||||
`Expected number to be less than or equal to ${value}`
|
||||
);
|
||||
}
|
||||
|
||||
toBeCloseTo(value: number, precision?: number) {
|
||||
return this.assertion.toBeCloseTo(value, precision);
|
||||
return this.assertion.customAssertion(
|
||||
(v) => {
|
||||
const num = v as number;
|
||||
const p = precision !== undefined ? precision : 2;
|
||||
const diff = Math.abs(num - value);
|
||||
const tolerance = 0.5 * Math.pow(10, -p);
|
||||
return diff <= tolerance;
|
||||
},
|
||||
`Expected number to be close to ${value} within precision ${precision ?? 2}`
|
||||
);
|
||||
}
|
||||
/** Equality check for numbers */
|
||||
toEqual(value: number) {
|
||||
return this.assertion.toEqual(value);
|
||||
return this.assertion.customAssertion(
|
||||
(v) => (v as number) === value,
|
||||
`Expected number to equal ${value}`
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user