2015-03-26 3 views
0

Как я могу использовать scalacheck, чтобы увидеть, был ли каждый элемент в списке правильно увеличен. Добавленная функция добавляет 5 к ее параметру. Где я помечен как проблемная область, не работает, как я могу лучше проверить каждый элемент одного списка против anothe?Использование scalacheck для проверки правильности изменения списка?

 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 
      ) 
      } 
      } 
+0

был мой ответ правильный? Можете ли вы проверить его, если это так? – Eric

ответ

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 } 
Смежные вопросы