如何为第二个参数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] 删除。
我来说两句