test.ml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. open OUnit2
  2. let test_one = "1-3 a: abcde"
  3. let test_two = "2-9 c: ccccccccc"
  4. let test_three = "1-3 b: cdefg"
  5. let test_parse password lb ub char pass _ =
  6. assert_equal
  7. (Lib.parse_password password)
  8. {
  9. lower_bound = lb;
  10. upper_bound = ub;
  11. char = char;
  12. password = pass;
  13. }
  14. let assert_valid_old password bool _ =
  15. assert_equal (Lib.old_validate (Lib.parse_password password)) bool
  16. let assert_valid_new password bool _ =
  17. assert_equal (Lib.new_validate (Lib.parse_password password)) bool
  18. let () =
  19. run_test_tt_main
  20. ("day two" >:::
  21. [
  22. "parse 01" >:: test_parse test_one 1 3 'a' "abcde";
  23. "parse 02" >:: test_parse test_two 2 9 'c' "ccccccccc";
  24. "parse 03" >:: test_parse test_three 1 3 'b' "cdefg";
  25. "old validate 01" >:: assert_valid_old test_one true;
  26. "old validate 02" >:: assert_valid_old test_two true;
  27. "old validate 03" >:: assert_valid_old test_three false;
  28. "new validate 01" >:: assert_valid_new test_one true;
  29. "new validate 02" >:: assert_valid_new test_two false;
  30. "new validate 03" >:: assert_valid_new test_three false;
  31. ])