Make test tree reflect directory tree

This commit is contained in:
George Thomas 2025-12-02 14:26:45 +00:00
parent 0d236a2f2c
commit 60acecb993

View File

@ -23,18 +23,17 @@ main =
defaultMain
. localOption (Always :: UseColor)
. testGroup "tests"
$ map
puzzleTest
[ puzzle1
, puzzle2
]
$ ["examples", "real"] <&> \s ->
testGroup s $
puzzleTest s
<$> [ puzzle1
, puzzle2
]
puzzleTest :: Puzzle -> TestTree
puzzleTest Puzzle{number, parser, parts} =
testGroup pt $
["examples", "real"] <&> \t ->
puzzleTest :: FilePath -> Puzzle -> TestTree
puzzleTest t Puzzle{number, parser, parts} =
withResource (parseFile $ "inputs/" <> t <> "/" <> pt) mempty \input ->
testGroup t $
testGroup pt $
zip (map show [1 :: Int ..]) parts <&> \(n, pp) ->
goldenVsString n ("outputs/" <> t <> "/" <> pt <> "/" <> n) $
BL.fromStrict . encodeUtf8 . pp <$> input