QuickTheories:从列表创建生成器的方法
QuickTheories: Way to create generator from a list
使用 java 库 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());
pick
似乎正是您所需要的。
来自 javadoc:
public <T> Gen<T> pick(java.util.List<T> ts)
通过从提供的随机选择一个来生成一个值。缩小时,列表中较早的值将被视为 "smaller".
使用 java 库 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());
pick
似乎正是您所需要的。
来自 javadoc:
public <T> Gen<T> pick(java.util.List<T> ts)
通过从提供的随机选择一个来生成一个值。缩小时,列表中较早的值将被视为 "smaller".