From 1486cbf5a164bb9d7885171e3f42369c4b40a288 Mon Sep 17 00:00:00 2001 From: Alexander Date: Sat, 4 Jan 2025 10:00:36 -0500 Subject: [PATCH] Added tests for `CCChar` predicates. --- tests/core/t_char.ml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/core/t_char.ml b/tests/core/t_char.ml index d8c5d971b..7c7691fef 100644 --- a/tests/core/t_char.ml +++ b/tests/core/t_char.ml @@ -8,3 +8,43 @@ eq None (of_int 257);; q (Q.string_of_size (Q.Gen.return 1)) (fun s -> Stdlib.( = ) (to_string s.[0]) s) +;; + +q (Q.int_range 65 90 |> Q.map Char.chr) CCChar.is_uppercase_ascii;; + +q + (Q.int_range 0 64 |> Q.map Char.chr) + (fun c -> not @@ CCChar.is_uppercase_ascii c) +;; + +q + (Q.int_range 91 127 |> Q.map Char.chr) + (fun c -> not @@ CCChar.is_uppercase_ascii c) +;; + +q (Q.int_range 97 122 |> Q.map Char.chr) CCChar.is_lowercase_ascii;; + +q + (Q.int_range 0 96 |> Q.map Char.chr) + (fun c -> not @@ CCChar.is_lowercase_ascii c) +;; + +q + (Q.int_range 123 127 |> Q.map Char.chr) + (fun c -> not @@ CCChar.is_lowercase_ascii c) +;; + +q (Q.int_range 48 57 |> Q.map Char.chr) CCChar.is_digit_ascii;; +q (Q.int_range 0 47 |> Q.map Char.chr) (fun c -> not @@ CCChar.is_digit_ascii c) +;; + +q + (Q.int_range 58 127 |> Q.map Char.chr) + (fun c -> not @@ CCChar.is_digit_ascii c) +;; + +eq true (String.for_all CCChar.is_whitespace_ascii "\n\t \010\011\012\013");; + +eq false + (String.for_all CCChar.is_whitespace_ascii + "Hello!--NOthina\055kag$$$%^bch\008h")