UNPKG

expeditaet

Version:
55 lines (45 loc) 1.96 kB
import { loadTaskResources } from '@alexaegis/advent-of-code-lib'; import { describe, expect, it } from 'vitest'; import packageJson from '../package.json'; import { p2, passportChecks } from './p2.js'; describe('2020 - Day 4 - Part Two', () => { it('should solve the input', async () => { const resources = await loadTaskResources(packageJson.aoc); expect(p2(resources.input)).toEqual(224); }); it('should solve the first example', async () => { const resources = await loadTaskResources(packageJson.aoc, 'example.1.txt'); expect(p2(resources.input)).toEqual(2); }); it('should solve the all valid example', async () => { const resources = await loadTaskResources(packageJson.aoc, 'example.valid.txt'); expect(p2(resources.input)).toEqual(4); }); it('should solve the all invalid example', async () => { const resources = await loadTaskResources(packageJson.aoc, 'example.invalid.txt'); expect(p2(resources.input)).toEqual(0); }); it('should solve for the second input', async () => { const resources = await loadTaskResources(packageJson.aoc, 'input.2.txt'); expect(p2(resources.input)).toEqual(198); }); it('should have a working byr check', () => { expect(passportChecks.byr('2002')).toEqual(true); expect(passportChecks.byr('2003')).toEqual(false); }); it('should have a working hgt check', () => { expect(passportChecks.hgt('60in')).toEqual(true); expect(passportChecks.hgt('190cm')).toEqual(true); expect(passportChecks.hgt('190in')).toEqual(false); expect(passportChecks.hgt('190')).toEqual(false); }); it('should have a working hcl check', () => { expect(passportChecks.hcl('#123abc')).toEqual(true); expect(passportChecks.hcl('#123abz')).toEqual(false); expect(passportChecks.hcl('123abc')).toEqual(false); }); it('should have a working pid check', () => { expect(passportChecks.pid('000000001')).toEqual(true); expect(passportChecks.pid('0123456789')).toEqual(false); }); });