Skip to content

Commit

Permalink
Added more tests for Abs_path
Browse files Browse the repository at this point in the history
  • Loading branch information
darrenldl committed Jan 10, 2023
1 parent 53eabcc commit e206127
Showing 1 changed file with 105 additions and 0 deletions.
105 changes: 105 additions & 0 deletions lib-tests/abs_path_tests.ml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,114 @@ module Alco = struct
"/"
Stramon_lib.Abs_path.(of_parts_exn [] |> to_string)

let part_is_dot_case0 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "."; "abc"; "def" ] |> to_string)

let part_is_dot_case1 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; "."; "def" ] |> to_string)

let part_is_dot_case2 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; "def"; "." ] |> to_string)

let part_is_dot_case3 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; "def"; "."; "." ] |> to_string)

let part_is_dot_case4 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "."; "."; "abc"; "def" ] |> to_string)

let part_is_dot_case5 () =
Alcotest.(check string)
"same string"
"/"
Stramon_lib.Abs_path.(of_parts_exn [ "."; "." ] |> to_string)

let part_is_empty_case0 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ ""; "abc"; "def" ] |> to_string)

let part_is_empty_case1 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; ""; "def" ] |> to_string)

let part_is_empty_case2 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; "def"; "" ] |> to_string)

let part_is_empty_case3 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; "def"; ""; "" ] |> to_string)

let part_is_empty_case4 () =
Alcotest.(check string)
"same string"
"/abc/def"
Stramon_lib.Abs_path.(of_parts_exn [ ""; ""; "abc"; "def" ] |> to_string)

let part_is_empty_case5 () =
Alcotest.(check string)
"same string"
"/"
Stramon_lib.Abs_path.(of_parts_exn [ ""; "" ] |> to_string)

let part_is_double_dot_case0 () =
Alcotest.(check string)
"same string"
"/def"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; ".."; "def" ] |> to_string)

let part_is_double_dot_case1 () =
Alcotest.(check string)
"same string"
"/abc"
Stramon_lib.Abs_path.(of_parts_exn [ "abc"; "def"; ".." ] |> to_string)

let part_is_double_dot_case2 () =
Alcotest.(check (option string))
"same string"
None
Stramon_lib.Abs_path.(of_parts [ ".." ] |> Option.map to_string)

let suite =
[
Alcotest.test_case "to_string_case0" `Quick to_string_case0;
Alcotest.test_case "part_is_dot_case0" `Quick part_is_dot_case0;
Alcotest.test_case "part_is_dot_case1" `Quick part_is_dot_case1;
Alcotest.test_case "part_is_dot_case2" `Quick part_is_dot_case2;
Alcotest.test_case "part_is_dot_case3" `Quick part_is_dot_case3;
Alcotest.test_case "part_is_dot_case4" `Quick part_is_dot_case4;
Alcotest.test_case "part_is_dot_case4" `Quick part_is_dot_case5;
Alcotest.test_case "part_is_empty_case0" `Quick part_is_empty_case0;
Alcotest.test_case "part_is_empty_case1" `Quick part_is_empty_case1;
Alcotest.test_case "part_is_empty_case1" `Quick part_is_empty_case2;
Alcotest.test_case "part_is_empty_case1" `Quick part_is_empty_case3;
Alcotest.test_case "part_is_empty_case1" `Quick part_is_empty_case4;
Alcotest.test_case "part_is_empty_case1" `Quick part_is_empty_case5;
Alcotest.test_case "part_is_double_dot_case0" `Quick part_is_double_dot_case0;
Alcotest.test_case "part_is_double_dot_case1" `Quick part_is_double_dot_case1;
Alcotest.test_case "part_is_double_dot_case1" `Quick part_is_double_dot_case2;
]
end

Expand Down

0 comments on commit e206127

Please sign in to comment.