open OUnit2
open ImportCSV

let test_suit =
  [
    ( "Column A" >:: fun _ ->
      assert_equal
        ~printer:(fun i -> Printf.sprintf "%d (%s)" i (Csv.column_to_string i))
        1 (Csv.column_of_string "A") );
    ( "Column a" >:: fun _ ->
      assert_equal
        ~printer:(fun i -> Printf.sprintf "%d (%s)" i (Csv.column_to_string i))
        1 (Csv.column_of_string "a") );
    ( "Column name" >:: fun _ ->
      let () =
        for i = 1 to 1_000 do
          let column_name = Csv.column_to_string i in
          let column_index = Csv.column_of_string column_name in

          assert_equal
            ~printer:(fun i ->
              Printf.sprintf "%d (%s)" i (Csv.column_to_string i))
            i column_index
        done
      in
      () );
  ]

let tests = "importCSV_test" >::: test_suit