import { AbstractMethodMap } from "../../src/AbstractMethodMap"; class TestMap extends AbstractMethodMap<{ doSomething(a: number, b: number): number }> { public mockFn = jest.fn(); public methodMap = { doSomething: this.doSomething }; public doSomething(a: number, b: number) { this.mockFn(); // Ensure the correct 'this' context return a + b; } public publicInvoke() { this.invoke("doSomething", [5, 10]); } } describe("Abstract Method Map", () => { it("Invoke mapped method", () => { let map = new TestMap(); map.publicInvoke(); expect(map.mockFn).toHaveBeenCalled() }); });