24 lines
753 B
OCaml
24 lines
753 B
OCaml
open QCheck
|
|
|
|
let (|>) x f = f x
|
|
|
|
let quoted_str = Printf.sprintf "%S"
|
|
|
|
let run lst =
|
|
OUnit2.run_test_tt_main (QCheck_runner.to_ounit2_test lst)
|
|
|
|
let _ = run (
|
|
let f1 s = Stringext.split_trim_left ~on:"," ~trim:" " s in
|
|
let f2 s = Stringext.split ~on:',' s |> List.map Stringext.trim_left in
|
|
let pp str =
|
|
(quoted_str str) ^ " -> " ^
|
|
(Print.list quoted_str (f1 str)) ^ " != " ^
|
|
(Print.list quoted_str (f2 str))
|
|
in
|
|
Test.make ~name:"stringext.split_trim_left == split |> trim_left" ~small:String.length
|
|
((pair (oneofl [",";" ,";", ";" , "]) (list_of_size (Gen.int_bound 3) printable_string)) |>
|
|
map (fun (sep,sub) -> String.concat sep sub) |>
|
|
set_shrink Shrink.string |>
|
|
set_print pp)
|
|
(fun s -> f1 s = f2 s)
|
|
)
|