12345678910111213141516171819202122232425262728293031323334353637 |
- open Base
- open OUnit2
- let sample = {|..##.......
- #...#...#..
- .#....#..#.
- ..#.#...#.#
- .#...##..#.
- ..#.##.....
- .#.#.#....#
- .#........#
- #.##...#...
- #...##....#
- .#..#...#.#|}
- let test_parse_map map _ =
- let _ = Lib.parse_map map in ()
- let test_slope map slope exp _ =
- let map = Lib.parse_map map in
- assert_equal (Lib.count_trees_in_slope map slope) exp
- let test_slopes map slopes exp _ =
- let map = Lib.parse_map map in
- let count = Lib.count_trees_in_slope map in
- let counts = List.map ~f:count slopes in
- let product = List.fold ~init:1 ~f:(fun x y -> x * y) counts in
- assert_equal product exp
- let () =
- run_test_tt_main
- ("day three" >:::
- [
- "parse map" >:: test_parse_map sample;
- "test map" >:: test_slope sample (3, 1) 7;
- "test map" >:: test_slopes sample Lib.all_slopes 336;
- ])
|