java - 快速理论 : Way to create generator from a list

标签 java property-based-testing

使用 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)

通过从提供的值中随机选取一个值来生成一个值。缩小时,列表中较早的值将被视为“较小”。

关于java - 快速理论 : Way to create generator from a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114019/

相关文章:

java - 将外部中断生成的数据从 C++ 程序传输到 Linux 中的 Java

java - 现在用Applet画线全乱了

testing - 如何在基于属性的测试中得出属性

python - 基于属性的测试和突变测试有什么区别?

c++ - 给定两个类,我如何概率地测试等效行为

java - android-Libgdx序列化和反序列化

java - 当我在hadoop 1.2.1中使用时,我想从父类HashPatitioner构建一个新的MyPatitioner

java - 如何从 Firestore 获取数组内的映射值?

unit-testing - 如何在 test.check 中生成随机电子邮件地址?