2

我在正确使用 scalacheck 生成器时遇到了一些困难。我想在某个范围内测试具有整数参数的任意数组 - 代码主要如下:

import org.scalacheck._

object BlockSpecs extends Properties("Block") {

  val arrayGen = Gen.containerOf[Array, Byte](0.toByte)
  val intGen = Gen.choose(1, 255)

  property("addPadding") = Prop.forAll(arrayGen, intGen) { (a, b) => 
    val padded = addPadding(a, b)
    (a.length != padded.length) && 
    (padded.length % b == 0)
  }
}

但是,我得到包含0 的整数值。当我更改Prop.forAllProp.forAllNoShrink它时,由于某种我不清楚的原因,它会起作用。

基本上,我只想做以下事情:

Prop.forAll { (a: Array[Byte], b: Int) => ... }

b在给定范围内。最简单的方法是什么?

4

0 回答 0