diff options
Diffstat (limited to 'src/main/java/au/id/zancanaro/javacheck/Generator.java')
-rw-r--r-- | src/main/java/au/id/zancanaro/javacheck/Generator.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/au/id/zancanaro/javacheck/Generator.java b/src/main/java/au/id/zancanaro/javacheck/Generator.java index ac731de..5a8fec3 100644 --- a/src/main/java/au/id/zancanaro/javacheck/Generator.java +++ b/src/main/java/au/id/zancanaro/javacheck/Generator.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Random; import java.util.function.Function; import java.util.function.Predicate; +import java.util.stream.Stream; /** * Generators are a way of producing random objects and their associated shrink @@ -170,7 +171,11 @@ public interface Generator<T> { return (random, size) -> this.generate(random, size).withShrinkStrategy(strategy); } - default Iterator<T> sample(Random random, int maxSize) { - return new GeneratorSampleIterator<>(this, random, maxSize); + default Stream<T> sample(Random random, int maxSize) { + return Stream.generate(() -> this.generate(random, maxSize).getValue()); + } + + default Stream<T> sample() { + return sample(new Random(), 100); } } |