2017-11-04 6 views
1

JavaライブラリQuickTheoriesを使用すると、値リストからジェネレータを作成する組み込み方法がありますか?以下のようなQuickTheories:リストからジェネレータを作成する方法

何か:

public Gen<A> fromList(List<A> xs) { 
    .... 
} 

独自のローリングはそれほど悪くはありませんが、車輪の再発明のように思える:

List<TimeZone> timeZones = Arrays.stream(TimeZone.getAvailableIDs()).map(id -> TimeZone.getTimeZone(id)); 
return integers().allPositive().map(i -> timeZones.get(i % timeZones.size()); 

答えて

1

pickはあなたが必要とまさにそうです。 Javadocのより

public <T> Gen<T> pick(java.util.List<T> ts)

がランダム供給からの1つを選ぶことにより、値を生成します。縮小すると、リストの早い方の値は「小さい」とみなされます。

関連する問題