adventofcode/2022/10/test.js

43 lines
1.0 KiB
JavaScript

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");
});
});