summaryrefslogtreecommitdiff
path: root/ocaml/test/year2025/day04/part01
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml/test/year2025/day04/part01')
-rw-r--r--ocaml/test/year2025/day04/part01/dune10
-rw-r--r--ocaml/test/year2025/day04/part01/test_solver.ml24
2 files changed, 34 insertions, 0 deletions
diff --git a/ocaml/test/year2025/day04/part01/dune b/ocaml/test/year2025/day04/part01/dune
new file mode 100644
index 0000000..aeee9b4
--- /dev/null
+++ b/ocaml/test/year2025/day04/part01/dune
@@ -0,0 +1,10 @@
+(tests
+ (names
+ test_solver)
+ (libraries
+ year2025
+ alcotest
+ qcheck-core
+ qcheck-alcotest)
+ (action (run %{test} -e))
+ (modes byte exe))
diff --git a/ocaml/test/year2025/day04/part01/test_solver.ml b/ocaml/test/year2025/day04/part01/test_solver.ml
new file mode 100644
index 0000000..77e33a5
--- /dev/null
+++ b/ocaml/test/year2025/day04/part01/test_solver.ml
@@ -0,0 +1,24 @@
+open Year2025.Day04.Part01.Solver
+
+let example =
+ {|..@@.@@@@.
+@@@.@.@.@@
+@@@@@.@.@@
+@.@@@@..@.
+@@.@@@@.@@
+.@@@@@@@.@
+.@.@.@.@@@
+@.@@@.@@@@
+.@@@@@@@@.
+@.@.@@@.@.|}
+
+let test_input_to_matrix have want () =
+ Alcotest.(check int) "number of rolls of paper that are accessible" want
+ @@ match solve have () with Error _ -> 0 | Ok ans -> ans
+
+let () =
+ let open Alcotest in
+ run "D04p01"
+ [ ( "given-example"
+ , [test_case "full example" `Quick @@ test_input_to_matrix example 13] )
+ ]