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.forAllするProp.forAllNoShrinkと、何らかの理由で機能しますが、明確ではありません。

基本的に、私は次のことをしたいだけです:

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

しかし、b与えられた範囲で。これを行う最も簡単な方法は何ですか?

4

0 に答える 0