/** * Tests for peakGridCount — the pure pixel-grid peak counter used to normalize * each heat layer to the densest cell visible in the current viewport. */ import { describe, it, expect } from 'vitest' import { peakGridCount } from './mapUtils' describe('peakGridCount', () => { it('returns 1 for empty input (no divide-by-zero)', () => { expect(peakGridCount([], 10)).toBe(1) }) it('counts coords sharing a grid cell and returns the peak', () => { const coords: Array<[number, number]> = [ [0, 0], [3, 4], // same 10px cell as [0,0] [9, 9], // same 10px cell [100, 100], // different cell ] expect(peakGridCount(coords, 10)).toBe(3) }) it('separates coords into different cells by cellSize', () => { const coords: Array<[number, number]> = [ [0, 0], [10, 0], // next cell over at cellSize 10 [20, 0], // next again ] expect(peakGridCount(coords, 10)).toBe(1) }) it('a denser cluster yields a larger peak (drives per-layer normalization)', () => { const dense: Array<[number, number]> = Array.from({ length: 12 }, () => [5, 5] as [number, number]) const sparse: Array<[number, number]> = [ [5, 5], [5, 5], ] expect(peakGridCount(dense, 10)).toBe(12) expect(peakGridCount(sparse, 10)).toBe(2) }) })