(**************************************************************************
 * You can add new test cases by adding new elements to the following lists
 * Format is:
 * TEST<X>ARG(<weight>, <function_name>, <arg1>, <arg2>, ..., <argX>)
 *
 * <X> is the number of argument that the function being tested takes.
 **************************************************************************)

(* This list is for regular problems *)
let rubric =
[
     TEST1ARG(1, polar_prod, ((4., 0.),(2., 3.)));

     TEST1ARG(1, s, 5);

     TEST2ARG(1, filter, (fun x -> x < 0), [1;-1;0;4;-2;5]);
     TEST2ARG(1, filter, (fun x -> x < 0.), [-1.;2.;3.]);

     TEST2ARG(1, has_two, (fun x -> x > 30), [1;34;42;6]);
     TEST2ARG(1, has_two, (fun x -> x > 30.), [1.;34.;42.;6.]);

     TEST2ARG(1, sum, [1; 2; 5], [3; 4]);

     TEST1ARG(1, split, [1; -3; 2; -4; 5]);

     TEST1ARG(1, diff_from_mean, [3.1;6.1;9.1]);
     TEST1ARG(1, diff_from_mean, []);

     TEST3ARG(1, check_ijth, [[1;2;3;4;];[3;0;4;5];[1;4;3;5];[2;1;1;2]], (fun x -> x > 3), (0, 3))
]
(* Note: the last entry should not be followed by a semicolon. *)

let extra_rubric = 
[ 
     TEST1ARG(1, is_diagonal, [[1; 0]; [0; 1]])
]
