test: add more tests in vector

This commit is contained in:
Simon Cruanes 2018-07-25 14:17:35 -05:00
parent 1998ed5090
commit e510e153f8

View file

@ -422,6 +422,13 @@ let uniq_sort cmp v =
uniq_sort Pervasives.compare v; to_list v = [1;2;3;4;5] uniq_sort Pervasives.compare v; to_list v = [1;2;3;4;5]
*) *)
(*$QR & ~long_factor:10
Q.(small_list small_int) (fun l ->
let v = of_list l in
uniq_sort Pervasives.compare v;
to_list v = (CCList.sort_uniq ~cmp:Pervasives.compare l))
*)
let iter k v = let iter k v =
for i = 0 to v.size -1 do for i = 0 to v.size -1 do
k (Array.unsafe_get v.vec i) k (Array.unsafe_get v.vec i)
@ -470,6 +477,13 @@ let filter' p v =
to_list v = [1;2;3] to_list v = [1;2;3]
*) *)
(*$QR
Q.(pair (fun1 Observable.int bool) (small_list small_int)) (fun (Q.Fun (_,f),l) ->
let v = of_list l in
filter' f v;
to_list v = List.filter f l)
*)
let filter p v = let filter p v =
if array_is_empty_ v then ( if array_is_empty_ v then (
create () create ()
@ -505,6 +519,12 @@ let fold f acc v =
fold (+) 0 (create ()) = 0 fold (+) 0 (create ()) = 0
*) *)
(*$QR
Q.(pair (fun2 Observable.int Observable.int small_int) (small_list small_int)) (fun (Q.Fun (_,f),l) ->
let v = of_list l in
fold f 0 v = List.fold_left f 0 l)
*)
let exists p v = let exists p v =
let n = v.size in let n = v.size in
let rec check i = let rec check i =