import { describe, expect, test } from 'vitest' import { RegionalMarketCache } from './RegionalMarketCache' describe('RegionalMarketCache', () => { test('should cache and retrieve values', async () => { const cache = new RegionalMarketCache(1000) cache.set(1, 1, 'test') expect(cache.get(1, 1)).toBe('test') }) test('should remove values', async () => { const cache = new RegionalMarketCache(1000) cache.set(1, 1, 'test') cache.remove(1, 1) expect(cache.get(1, 1)).toBeUndefined() }) test('should compute values if absent', async () => { const cache = new RegionalMarketCache(1000) const value = await cache.computeIfAbsent(1, 1, () => Promise.resolve('test')) expect(value).toBe('test') expect(cache.get(1, 1)).toBe('test') }) test('should expire values', async () => { const cache = new RegionalMarketCache(1) cache.set(1, 1, 'test') await new Promise(resolve => setTimeout(resolve, 10)) expect(cache.get(1, 1)).toBeUndefined() }) })