正确使用scalacheck Generator

时间:2014-07-10 12:04:40

标签: scala scalacheck

我在正确使用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)
  }
}

但是,我得到 include 0的整数值。当我将Prop.forAll更改为Prop.forAllNoShrink时,由于某些原因我无法理解这一点。

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

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

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

0 个答案:

没有答案