import { test, expect, describe } from "vitest"; import * as R from "remeda"; import { expectSolution } from "../01/main.js"; import part1, { comsys, sample, sample2, puzzleInput, addSignal } from "./part1.js"; import part2 from "./part2.js"; describe("part 1", () => { test( "comsys", () => { let sys = comsys(); const result = sample.map( sys).map(R.prop('register')); expect(result).toEqual([1,1,4]); sys = comsys(); expect(sample.map( sys ).map(R.prop('cycle')) ).toEqual([2,3,4] ) }); test( "signal strength", () => { expect(addSignal({cycle: 3, register: 2})).toMatchObject({signal: 6}); }); test( "sample2", () => { expect(part1(sample2)).toEqual(13140); }); test("solution", () => { expectSolution(part1(puzzleInput)).toEqual(15020); }); }); describe.only("part 2", () => { test("sample", () => { expectSolution(part2(sample2)).toEqual("TODO"); }); test.todo("solution", () => { expectSolution(part2(puzzleInput)).toEqual("TODO"); }); });