feat(js): m03 rules with fixtures and tests
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
e9c41fed03
commit
2e39f23bb3
@@ -0,0 +1,15 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user