blob: 824c95b80197814a107bdefcad0b25d0cf5e1313 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
open OUnit2
open AoC_2024.Day_01.Part_01
let tests =
"test suite for day 01 part 01"
>::: [
("empty list is 0" >:: fun _ -> assert_equal 0 (solve [] []));
( "distance between 0 and 1 is 1" >:: fun _ ->
assert_equal 1 (solve [ 0 ] [ 1 ]) );
( "distance between 1 and 0 is 1" >:: fun _ ->
assert_equal 1 (solve [ 1 ] [ 0 ]) );
( "smallest are paired, then next smallest, ..." >:: fun _ ->
assert_equal 0 (solve [ 1; 2; 3 ] [ 3; 2; 1 ]) );
(* See https://adventofcode.com/2024/day/1 *)
( "solves example correctly" >:: fun _ ->
assert_equal 11 (solve [ 3; 4; 2; 1; 3; 3 ] [ 4; 3; 5; 3; 9; 3 ]) );
( "same number is 0 distance apart" >:: fun _ ->
assert_equal 0 (calculate_distance 0 0) );
( "same number is 0 distance apart" >:: fun _ ->
assert_equal 0 (calculate_distance 1 1) );
( "distance is equal to abs(x - y)" >:: fun _ ->
assert_equal 1 (calculate_distance 0 1) );
( "order of inputs doesn't matter" >:: fun _ ->
assert_equal 1 (calculate_distance 1 0) );
]
let _ = run_test_tt_main tests
|