2016-08-22 2 views
0

У меня есть основной вопрос о предложениях scalacheck when where. По какой-то причине мой компилятор не распознает всякий раз, а не часть (conditional subset) ==>.scalacheck всякий раз, когда значение не распознается

(я следую вдоль второго курса Одерский лестницы на Coursera, и я написал свойство scalacheck как:.

property("deleteMin ...") = forAll{ 
h:H => whenever (isEmpty(h)) {... 

компилятор не распознает, когда Есть что-то мне нужно импортировать дополнительно

import org.scalacheck._ 
import Arbitrary._ 
import Gen._ 
import Prop._ 

?

+0

Не знаю о 'when', но' ==> 'может быть доступно в текущей области с помощью [' org.scalacheck.Prop.BooleanOperators'] (https://github.com/rickynils/scalacheck /blob/31e745fcd5936736681b882566c663adcbd727ab/src/main/scala/org/scalacheck/Prop.scala#L342). – Jubobs

ответ

1

Я не эксперт по scalacheck, но я завершил задание Coursera.

  1. Это можно сделать без whenever.
  2. Не найдено whenever, упомянутых в API documentation.
1

Scalacheck не имеет функции «когда-либо», но вместо этого вы можете использовать метод ==>. (Вам нужно будет импортировать org.scalacheck.Prop.BooleanOperators)

Если вы хотите использовать scalatest на основе тестирования свойства вместо scalacheck вы можете смешать в Тре PropertyChecks (импорт org.scalatest.prop.PropertyChecks) и вы может использовать функцию «всякий раз».

Смежные вопросы