From e2061273bb37e074e3fa0b864659d671c221d4fb Mon Sep 17 00:00:00 2001 From: Darren Ldl Date: Wed, 11 Jan 2023 04:10:05 +1100 Subject: [PATCH] Added more tests for Abs_path --- lib-tests/abs_path_tests.ml | 105 ++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/lib-tests/abs_path_tests.ml b/lib-tests/abs_path_tests.ml index e4afb4e..efcf6e7 100644 --- a/lib-tests/abs_path_tests.ml +++ b/lib-tests/abs_path_tests.ml @@ -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