(use-package :clunit) (defsuite 04/aoc (aoc)) (defvar 04/default-input '("7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1" "" "22 13 17 11 0" " 8 2 23 4 24" "21 9 14 16 7" " 6 10 3 18 5" " 1 12 20 15 19" "" " 3 15 0 2 22" " 9 18 13 17 5" "19 8 7 25 23" "20 11 10 24 4" "14 21 16 12 6" "" "14 21 17 24 4" "10 16 15 9 19" "18 8 23 26 20" "22 11 13 6 5" " 2 0 12 3 7")) (deftest 04/test-ex-a (04/aoc) (let ((result (04/part-a (04/parse-input-direct 04/default-input)))) (assert-equalp 4512 result))) (deftest 04/test-ex-b (04/aoc) (let ((result (04/part-b (04/parse-input-direct 04/default-input)))) (assert-equalp 1924 result))) (deftest 04/test-a (04/aoc) (let ((result (04/part-a (04/parse-input "inputs/04.txt")))) (assert-equalp 51776 result))) (deftest 04/test-b (04/aoc) (let ((result (04/part-b (04/parse-input "inputs/04.txt")))) (assert-equalp 16830 result))) (defun 04/run-tests () (run-suite '04/aoc))