import { it, expect } from "bun:test"; import { getBestRoute } from "../getBestRoute"; import { Color, createEmptyGrid, setColor } from "@snk/types/grid"; import { createSnakeFromCells, snakeToCells } from "@snk/types/snake"; import * as grids from "@snk/types/__fixtures__/grid"; import { snake3 } from "@snk/types/__fixtures__/snake"; it("should find best route", () => { const snk0 = [ { x: 0, y: 0 }, { x: 1, y: 0 }, ]; const grid = createEmptyGrid(5, 5); setColor(grid, 3, 3, 1 as Color); const chain = getBestRoute(grid, createSnakeFromCells(snk0))!; expect(snakeToCells(chain[1])[1]).toEqual({ x: 0, y: 0 }); expect(snakeToCells(chain[chain.length - 1])[0]).toEqual({ x: 3, y: 3 }); }); for (const [gridName, grid] of Object.entries(grids)) it(`should find a solution for ${gridName}`, () => { getBestRoute(grid, snake3); });