Files
functional-programming-snake/js/test/m03-rules.test.js
T
2026-10-28 23:41:34 +01:00

16 lines
527 B
JavaScript

import test from 'node:test'
import assert from 'node:assert/strict'
import { move, inBounds, turn, advance } from '../src/rules.js'
import { loadFixture, freeze } from './helpers.js'
const fixtureTests = (name, f) => {
const fx = loadFixture(name)
fx.cases.forEach((c) =>
test(`m03 ${fx.function}: ${c.name}`, () => assert.deepStrictEqual(f(...freeze(c.args)), c.expected)))
}
fixtureTests('m03-move', move)
fixtureTests('m03-in-bounds', inBounds)
fixtureTests('m03-turn', turn)
fixtureTests('m03-advance', advance)