TheRealSamuel/LeetCodeProblem
0564
1 2module Main = struct3 open OUnit24 5 (* Program start *)6 7 (* Program end *)8 9 (* Test cases *)10 11let test1 _ = assert_equal 3 (minIncrementOperations [2;3;0;0;2] 4)12 13let test2 _ = assert_equal 2 (minIncrementOperations [0;1;3;3] 5)14 15let test3 _ = assert_equal 0 (minIncrementOperations [1;1;2] 1)16 17let test4 _ = assert_equal 0 (minIncrementOperations [462325066; 206420187; 521315460; 318264093; 66475813; 619438353; 499937120; 9685155; 2855537; 913944240] 373173460)18 19let test5 _ = assert_equal 918451928 (minIncrementOperations [317576829; 230943442; 194377313; 217961295; 179889103; 421788827; 346731151; 31378563; 457215528] 663944532)20 21let test6 _ = assert_equal 0 (minIncrementOperations [554240499; 168910099; 370475323; 72793279; 181768111; 415255001] 179842580)22 23let test7 _ = assert_equal 186995217 (minIncrementOperations [168413874; 337615557; 757898546; 697884066; 97110609; 987627695; 755555424; 530718081; 976002691] 944893763)24 25let test8 _ = assert_equal 0 (minIncrementOperations [484598604; 491482864; 339460418; 940057113; 528767250; 102185549] 189117733)26 27let test9 _ = assert_equal 0 (minIncrementOperations [719164977; 892326581; 957540324; 991726451; 280307765; 41099724; 871482641] 740459607)28 29let test10 _ = assert_equal 0 (minIncrementOperations [49010645; 338826954; 801318173; 348190584; 354157732; 232141023] 94104474)30 31 32 (* Grouping test cases *)33 let suite = "Test Suite for minIncrementOperations" >::: [34 35 "test1" >:: test1;36 "test2" >:: test2;37 "test3" >:: test3;38 "test4" >:: test4;39 "test5" >:: test5;40 "test6" >:: test6;41 "test7" >:: test7;42 "test8" >:: test8;43 "test9" >:: test9;44 "test10" >:: test10;45 ]46 47 48 (* Running the tests *)49 let () = run_test_tt_main suite50end51 