/* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-empty-interface */ // Custom matcher https://jest-archive-august-2023.netlify.app/docs/27.x/expect#expectextendmatchers import { expect } from '@jest/globals'; expect.extend({ toBeWithinRange(received: any, floor: number, ceiling: number) { const pass = received >= floor && received <= ceiling; if (pass) { return { message: () => `expected ${received} not to be within range ${floor} - ${ceiling}`, pass: true, }; } else { return { message: () => `expected ${received} to be within range ${floor} - ${ceiling}`, pass: false, }; } }, }); interface CustomMatchers { toBeWithinRange(floor: number, ceiling: number): R; } declare global { namespace jest { interface Expect extends CustomMatchers { } interface Matchers extends CustomMatchers { } interface InverseAsymmetricMatchers extends CustomMatchers { } } }