Files
aoc/2024/12/index.test.ts
T
Pascal feb1b40408 Solve 2024-12
Add side-aware coordinate utils
2024-12-12 19:19:44 +01:00

79 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'bun:test';
import { getSides, solveFirst, solveSecond } from './index.ts';
describe('2024-12', () => {
it('first', () => {
expect(
solveFirst(`AAAA
BBCD
BBCC
EEEC`)
).toBe(140);
expect(
solveFirst(`OOOOO
OXOXO
OOOOO
OXOXO
OOOOO`)
).toBe(772);
expect(
solveFirst(`RRRRIICCFF
RRRRIICCCF
VVRRRCCFFF
VVRCCCJFFF
VVVVCJJCFE
VVIVCCJJEE
VVIIICJJEE
MIIIIIJJEE
MIIISIJEEE
MMMISSJEEE`)
).toBe(1930);
});
it('second', () => {
// it takes too long
// so only run while `NODE_ENV=production bun test --coverage`
if (process.env.NODE_ENV === 'production') {
expect(
solveSecond(`EEEEE
EXXXX
EEEEE
EXXXX
EEEEE`)
).toBe(236);
expect(
solveSecond(`AAAA
BBCD
BBCC
EEEC`)
).toBe(80);
expect(
solveSecond(`OOOOO
OXOXO
OOOOO
OXOXO
OOOOO`)
).toBe(436);
expect(
solveSecond(`AAAAAA
AAABBA
AAABBA
ABBAAA
ABBAAA
AAAAAA`)
).toBe(368);
}
});
it('sides', () => {
expect(
getSides([
[0, 0],
[1, 0],
[2, 0],
[0, 1]
])
).toBe(6);
});
});