FrontendAtlas
Study
▾
Dashboard
Pricing
Get full access
</> Code
Test cases
Language
JavaScript
TypeScript
export default function createLruCache(maxSize) { throw new Error('Not implemented'); }
import createLruCache from './createLruCache'; describe('createLruCache', () => { test('throws for invalid maxSize', () => { expect(() => createLruCache(0)).toThrow(); expect(() => createLruCache(-1)).toThrow(); expect(() => createLruCache(1.5)).toThrow(); }); test('evicts least-recently-used on overflow', () => { const c = createLruCache(2); c.set('a', 1); c.set('b', 2); c.set('c', 3); expect(c.has('a')).toBe(false); expect(c.has('b')).toBe(true); expect(c.has('c')).toBe(true); expect(c.keys()).toEqual(['b', 'c']); }); test('get refreshes recency', () => { const c = createLruCache(2); c.set('a', 1); c.set('b', 2); expect(c.get('a')).toBe(1); c.set('c', 3); expect(c.has('b')).toBe(false); expect(c.keys()).toEqual(['a', 'c']); }); test('updating an existing key does not grow size', () => { const c = createLruCache(2); c.set('a', 1); c.set('b', 2); c.set('a', 10); expect(c.size()).toBe(2); expect(c.get('a')).toBe(10); }); });
▶ Run tests
Results
Console
Run tests to see results.