diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-07-27 17:03:10 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-07-27 18:30:30 -0700 |
commit | 9970036d203ba2d0a46b35ba6fad21d49441cdd4 (patch) | |
tree | a585d13933bf4149dcb07e28526063d071453105 /tst/memoize.test.ts | |
download | pengueno-9970036d203ba2d0a46b35ba6fad21d49441cdd4.tar.gz pengueno-9970036d203ba2d0a46b35ba6fad21d49441cdd4.zip |
hai
Diffstat (limited to 'tst/memoize.test.ts')
-rw-r--r-- | tst/memoize.test.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tst/memoize.test.ts b/tst/memoize.test.ts new file mode 100644 index 0000000..e3d9050 --- /dev/null +++ b/tst/memoize.test.ts @@ -0,0 +1,24 @@ +import { memoize } from '@emprespresso/pengueno'; + +interface RefCounter { + inc(by: number): number; +} + +test('memoizes', () => { + let _c = 0; + const c: RefCounter = { + inc(by: number): number { + _c += by; + return _c; + }, + }; + + const incBy = memoize((n: number) => c.inc(n)); + + expect(incBy(1)).toBe(1); + expect(incBy(2)).toBe(3); + expect(incBy(20)).toBe(23); + expect(incBy(20)).toBe(23); + expect(incBy(1)).toBe(1); + expect(incBy(2)).toBe(3); +}); |