From fef70631f4d1be56d772816af22778efebcc8391 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Mon, 1 Jun 2015 12:47:05 +1000 Subject: Fix up list shrinking, remove minor superfluous things --- src/main/java/au/id/zancanaro/javacheck/Generator.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/main/java/au/id/zancanaro/javacheck/Generator.java') diff --git a/src/main/java/au/id/zancanaro/javacheck/Generator.java b/src/main/java/au/id/zancanaro/javacheck/Generator.java index 66ebf1b..55d06f8 100644 --- a/src/main/java/au/id/zancanaro/javacheck/Generator.java +++ b/src/main/java/au/id/zancanaro/javacheck/Generator.java @@ -1,5 +1,6 @@ package au.id.zancanaro.javacheck; +import java.util.Arrays; import java.util.List; import java.util.Random; import java.util.function.Function; @@ -24,6 +25,17 @@ public interface Generator { }; } + static Generator> list(int count, Generator gen) { + return (random, size) -> { + @SuppressWarnings("unchecked") + RoseTree[] result = (RoseTree[]) new RoseTree[count]; + for (int i = 0; i < count; ++i) { + result[i] = gen.generate(random, size); + } + return RoseTree.shrink(Function.identity(), result); + }; + } + default Generator fmap(Function f) { return (random, size) -> this.generate(random, size).fmap(f); } -- cgit v1.2.3