diff options
| author | Carlo Zancanaro <carlo@zancanaro.id.au> | 2015-06-04 16:46:31 +1000 | 
|---|---|---|
| committer | Carlo Zancanaro <carlo@zancanaro.id.au> | 2015-06-04 16:46:31 +1000 | 
| commit | b435b8659eef0e8bc2910966d87b5b74b4cddbe2 (patch) | |
| tree | 22194a911cf071766d99d7f9c1600889a6147ebb /src/main/java/au/id/zancanaro/javacheck/Generator.java | |
| parent | 6781ae52a41188e82a0354d4725a7c2718830e45 (diff) | |
Move stuff over to using streams instead of iterators: much nicer!
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);      }  } | 
