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.forAll
するProp.forAllNoShrink
と、何らかの理由で機能しますが、明確ではありません。
基本的に、私は次のことをしたいだけです:
Prop.forAll { (a: Array[Byte], b: Int) => ... }
しかし、b
与えられた範囲で。これを行う最も簡単な方法は何ですか?