使用scalacheck查看列表是否已正确更改?

时间:2015-03-26 01:11:26

标签: scala scalacheck

如何使用scalacheck查看列表中的每个项目是否已正确递增。添加的功能只是增加了5个参数。我标记的问题区域是否有效,我怎样才能更好地检查一个列表中的每个元素与其他元素?

      val added = forAll { (a:Array[Int]) => {
         val l=added(a)
         all(
         "size" |: a.size==l.size,
         "sort/elements" |: for(i<-0 to a.size) a(i)+5==l(i) //problem area
            )
           }
          }

1 个答案:

答案 0 :(得分:0)

当数组为空时,可以看到异常。解决这个问题的一种方法是以不同方式编写for循环:

(for(i<-1 until a.size) a(i - 1)+5==l(i - 1))

你也可以将zip 2个序列放在一起,并检查成对的元素是否相等

a.zip(l).forall { case (i, j) => i + 5 == j }