@@ -14,8 +14,8 @@ let rec rev tree = match tree with
1414let test =
1515 QCheck.Test.make
1616 ~name:"tree -> rev (rev tree) = tree"
17- (QCheck.make gen_tree)
18- (fun tree -> rev (rev tree) = tree)
17+ (QCheck.make gen_tree)
18+ (fun tree -> rev (rev tree) = tree)
1919```
2020
2121For ` type tree ` we derive two generators:
@@ -51,10 +51,10 @@ This attribute has 2 advantages:
5151 [@@deriving qcheck]
5252 ^^^^^^^^^^^^^^^^
5353 Error: Unbound value gen_my_other_type
54-
54+
5555 (* Possible fix *)
5656 let gen_my_other_type = (* add your implementation here *)
57-
57+
5858 type my_foo =
5959 | Foo of my_other_type [@gen gen_my_other_type]
6060 | Bar of bool
@@ -199,9 +199,9 @@ let gen =
199199## Records
200200``` ocaml
201201type service = {
202- service_name : string;
203- port : int;
204- protocol : string;
202+ service_name : string;
203+ port : int;
204+ protocol : string;
205205} [@@deriving qcheck]
206206
207207(* ==> *)
@@ -222,7 +222,7 @@ type color = Red | Blue | Green
222222(* ==> *)
223223
224224let gen_color =
225- QCheck.Gen.frequency
225+ QCheck.Gen.oneof_weighted
226226 [(1, (QCheck.Gen.pure Red));
227227 (1, (QCheck.Gen.pure Blue));
228228 (1, (QCheck.Gen.pure Green))]
@@ -236,7 +236,7 @@ type color = [ `Red | `Blue | `Green ]
236236(* ==> *)
237237
238238let gen_color =
239- (QCheck.Gen.frequency
239+ (QCheck.Gen.oneof_weighted
240240 [(1, (QCheck.Gen.pure `Red));
241241 (1, (QCheck.Gen.pure `Blue));
242242 (1, (QCheck.Gen.pure `Green))] : color QCheck.Gen.t)
@@ -254,10 +254,10 @@ let rec gen_tree_sized n =
254254 match n with
255255 | 0 -> QCheck.Gen.map (fun gen0 -> Leaf gen0) QCheck.Gen.int
256256 | n ->
257- QCheck.Gen.frequency
257+ QCheck.Gen.oneof_weighted
258258 [(1, (QCheck.Gen.map (fun gen0 -> Leaf gen0) QCheck.Gen.int));
259259 (1,
260- (QCheck.Gen.map (fun (gen0, gen1) -> Node (gen0, gen1))
260+ (QCheck.Gen.map (fun (gen0, gen1) -> Node (gen0, gen1))
261261 (QCheck.Gen.pair (self (n / 2)) (self (n / 2)))))]))
262262
263263let gen_tree = QCheck.Gen.sized @@ gen_tree_sized
@@ -273,11 +273,11 @@ type tree = [ `Leaf of int | `Node of tree * tree ]
273273let gen_tree =
274274 (QCheck.Gen.sized @@ QCheck.Gen.fix (fun self -> function
275275 | 0 ->
276- QCheck.Gen.frequency [
277- ( 1, QCheck.Gen.map (fun gen0 -> `Leaf gen0) QCheck.Gen.int);
276+ QCheck.Gen.oneof_weighted [
277+ ( 1, QCheck.Gen.map (fun gen0 -> `Leaf gen0) QCheck.Gen.int);
278278 ]
279279 | n ->
280- QCheck.Gen.frequency [
280+ QCheck.Gen.oneof_weighted [
281281 ( 1, QCheck.Gen.map (fun gen0 -> `Leaf gen0) QCheck.Gen.int);
282282 ( 1,
283283 QCheck.Gen.map (fun gen0 -> `Node gen0)
@@ -297,7 +297,7 @@ and forest = Nil | Cons of (tree * forest)
297297(* ==> *)
298298
299299let rec gen_tree () =
300- QCheck.Gen.frequency
300+ QCheck.Gen.oneof_weighted
301301 [(1,
302302 (QCheck.Gen.map (fun gen0 -> Node gen0)
303303 (QCheck.Gen.map (fun (gen0, gen1) -> (gen0, gen1))
@@ -307,9 +307,9 @@ and gen_forest () =
307307 QCheck.Gen.sized @@
308308 (QCheck.Gen.fix
309309 (fun self -> function
310- | 0 -> QCheck.Gen.frequency [(1, (QCheck.Gen.pure Nil))]
310+ | 0 -> QCheck.Gen.oneof_weighted [(1, (QCheck.Gen.pure Nil))]
311311 | n ->
312- QCheck.Gen.frequency
312+ QCheck.Gen.oneof_weighted
313313 [(1, (QCheck.Gen.pure Nil));
314314 (1,
315315 (QCheck.Gen.map (fun gen0 -> Cons gen0)
0 commit comments