当第二个参数的生成依赖于第一个参数时,如何编写带有两个参数的测试?

纪尧姆·谢勒(Guillaume Cherel)

如何为第二个参数someBoundedInt编写一个生成器,该生成器将在为minmaxBound生成的值之间随机生成一个Int?

val boundedIntProperty = forAll {
  (minmaxBound: (Int,Int), someBoundedInt: Int) => 
    minmaxBound._1 <= someBoundedInt && someBoundedInt <= minmaxBound._2

}
里克尼尔斯

您可以forAll像这样嵌套调用

val boundedIntProperty = forAll { (minBound: Int, maxBound: Int) =>
  forAll( Gen.choose(minBound, maxBound) ) { someBoundedInt =>
    ...
  }
}

请注意,上面的值有时minBound可能会大于maxBound某些值,这将使Gen.choose失败(不产生值)。因此,您可能也想以一种更智能的方式来生成边界。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

打字稿:如何让第二个参数类型依赖于第一个参数值

打字稿,限制第二个参数依赖于第一个参数类型

如何编写带有两个参数的 Mybatis XML Mapper(第一个是 List<String>,第二个是 Long)?

当第二个查询依赖于SQL Server中的第一个查询输出时,如何在存储过程中编写两个查询

Spring批处理两个任务的并行处理,但是第二个任务依赖于第一个任务

当第二个依赖于第一个时执行异步任务

如何从第二个引用函数的第一个参数?(python 2.7)

根据对象从第一个参数推断第二个参数

基于第一个参数类型的TypeScript第二个参数类型

当第一个参数大于第二个参数时,range()返回空列表

当第一个参数是来自接口的键时,动态确定第二个参数

Javascript函数具有可选的第一个参数,但传递了第二个参数

为什么第二个参数没有根据第一个参数进行过滤?

在具有对象(第二个参数)的数组(第一个参数)上使用for循环迭代

TypeScript:如何根据第一个参数省略函数中的第二个参数

如何在javascript的replace方法的第二个参数中引用第一个参数?

在 VBA MS Access 中运行两个 SQL 查询。第二个记录集依赖于第一个记录集

如何将除第一个参数以外的所有参数传递给第二个bash脚本?

发送两个nodejs http请求,第二个依赖第一个

返回作为第二个参数传递的数组中第一个参数的索引的函数

Typescript函数定义,以确保第二个参数与第一个参数的类型相同

将第二个参数传递给自动采用第一个参数的函数

自动从第一个参数推断出第二个通用参数

根据詹金斯中的第一个参数获取第二个参数

如果第一个参数为false,php是否会评估or语句的第二个参数?

Azure Devops Pipeline:第二个参数取决于第一个参数

第二个参数类型取决于打字稿中的第一个参数

具有两个数组的方法。如果第一个数组中的值返回不为null,则必须将另一个数组中的相应元素用作第二个方法的参数

制作简单的BASH Shell脚本,该脚本接受两个参数,对其进行检查,然后将第一个(文件)参数复制到第二个(目录)参数