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 28 29 30 31
|
let check_experience x =
let is_valid = match Resume_v.validate_work_experience [] x with
| None -> true
| _ -> false
in
Printf.printf "%s:\n%s\n"
(if is_valid then "VALID" else "INVALID")
(Yojson.Safe.prettify (Resume_j.string_of_work_experience x))
let () =
(* one valid date *)
let valid = { Resume_t.year = 2000; month = 2; day = 29 } in
(* one invalid date *)
let invalid = { Resume_t.year = 1900; month = 0; day = 0 } in
(* two more valid dates, created with Resume_v.create_date *)
let date1 = { Resume_t.year = 2005; month = 8; day = 1 } in
let date2 = { Resume_t.year = 2006; month = 3; day = 22 } in
let job = {
Resume_t.company = "Acme Corp.";
title = "Tester";
start_date = date1;
end_date = Some date2;
}
in
let valid_job = { job with Resume_t.start_date = valid } in
let invalid_job = { job with Resume_t.end_date = Some invalid } in
let valid_experience = [ job; valid_job ] in
let invalid_experience = [ job; invalid_job ] in
check_experience valid_experience;
check_experience invalid_experience
|