This commit is contained in:
George Thomas 2025-12-02 08:51:26 +00:00
parent 053c54a23e
commit 14cc0c94ff

View File

@ -23,11 +23,11 @@ puzzleTest :: Puzzle a -> TestTree
puzzleTest p = puzzleTest p =
testGroup (show p.number) $ testGroup (show p.number) $
["examples", "real"] <&> \t -> ["examples", "real"] <&> \t ->
withResource (maybe (fail "parse failure") pure . p.parse =<< readFile ("inputs/" <> t <> "/" <> show p.number)) mempty \input -> withResource (maybe (fail "parse failure") pure . p.parse =<< readFile ("inputs/" <> t <> "/" <> show p.number)) mempty \input ->
testGroup t $ testGroup t $
[("1", p.part1), ("2", p.part2)] <&> \(n, pp) -> [("1", p.part1), ("2", p.part2)] <&> \(n, pp) ->
goldenVsString n ("outputs/" <> t <> "/" <> show p.number <> "/" <> n) $ goldenVsString n ("outputs/" <> t <> "/" <> show p.number <> "/" <> n) $
BL.fromStrict . encodeUtf8 . pp.solve <$> input BL.fromStrict . encodeUtf8 . pp.solve <$> input
data Puzzle input = Puzzle data Puzzle input = Puzzle
{ number :: Word { number :: Word