adventofcode/2022/13/test.js

38 lines
1019 B
JavaScript

import { test, expect, describe } from "vitest";
import { expectSolution } from "../01/main.js";
import part1, { sample, puzzleInput, isLessThan } from "./part1.js";
import part2 from "./part2.js";
describe("part 1", () => {
test( "readInput", () => {
expect(sample[0][0]).toEqual([1,1,3,1,1]);
});
test( "lessThan", () => {
expect( isLessThan(1,2) ).toBe(-1);
expect( isLessThan(2,1) ).toBe(1);
expect( isLessThan(2,2) ).toBe(0);
expect( isLessThan(2,[1]) ).toBe(1);
expect( isLessThan([1],[2]) ).toBe(-1);
});
test("sample", () => {
expect(part1(sample)).toEqual(13);
});
test("solution", () => {
const r = part1(puzzleInput);
expect(r).toBeGreaterThan(435);
expect(r).toBeLessThan(10980);
expectSolution(r).toEqual(5806);
});
});
describe("part 2", () => {
test("sample", () => {
expect(part2(sample)).toEqual(140);
});
test("solution", () => {
expectSolution(part2(puzzleInput)).toEqual(23600);
});
});