add expect tests
This commit is contained in:
1 parent
b6eae27d9d
commit
31a75867fa
12 files changed
+119
-62
No files matched your search
+13
-9
@@ -44,7 +44,7 @@ let parse_monkeys () =
|
||||
|
||||
let throw item monkey = monkey.items <- List.append [ item ] monkey.items
|
||||
|
||||
let round monkies manageable =
|
||||
let round monkies ~manageable =
|
||||
let divisor = Array.fold_left (fun acc monkey -> acc * monkey.test_num) 1 monkies in
|
||||
let destress score = if manageable then score / 3 else Int.(score mod divisor) in
|
||||
monkies
|
||||
@@ -58,10 +58,10 @@ let round monkies manageable =
|
||||
monkey.items <- [])
|
||||
;;
|
||||
|
||||
let solve rounds manageable =
|
||||
let solve rounds ~manageable =
|
||||
let monkies = parse_monkeys () in
|
||||
for _ = 1 to rounds do
|
||||
round monkies manageable
|
||||
round monkies ~manageable
|
||||
done;
|
||||
monkies
|
||||
|> Array.to_list
|
||||
@@ -73,11 +73,15 @@ let solve rounds manageable =
|
||||
|> Option.get_exn_or "aoc goofed up the input"
|
||||
;;
|
||||
|
||||
let part1 () = solve 20 true
|
||||
let part2 () = solve 10_000 false
|
||||
let part1 () = solve 20 ~manageable:true
|
||||
let part2 () = solve 10_000 ~manageable:false
|
||||
|
||||
let print () =
|
||||
Printf.(
|
||||
printf "Day 11.1: %d\n" @@ part1 ();
|
||||
printf "Day 11.2: %d\n" @@ part2 ())
|
||||
let%expect_test "Day 11.1" =
|
||||
Printf.printf "%d" @@ part1 ();
|
||||
[%expect {| 56350 |}]
|
||||
;;
|
||||
|
||||
let%expect_test "Day 11.2" =
|
||||
Printf.printf "%d" @@ part2 ();
|
||||
[%expect {| 13954061248 |}]
|
||||
;;
|
||||
Reference in new issue
Block a user