2016-08-22 1 views
0

scalacheck의 anything 절에 대한 기본적인 질문이 있습니다. 어떤 이유로, 제 컴파일러는 언제든지 또는 (conditional subset) ==> 부분을 인식하지 못합니다. 값이 인식되지 않을 때마다 scalacheck가 인식됩니다.

(나는 코 세라에 Odersky의 두 번째 스칼라 코스를 따라 다음하고, 나는 같은 scalacheck 속성을 작성했습니다. 컴파일러는 때마다를 인식하지 못하는

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

I가 추가로 가져올 필요 뭔가가 있나요

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

?

+0

'언제라도'모르지만'= org.scalacheck.Prop.BooleanOperators'를 통해 현재 범위에서 사용할 수 있습니다 (https://github.com/rickynils/scalacheck). /blob/31e745fcd5936736681b882566c663adcbd727ab/src/main/scala/org/scalacheck/Prop.scala#L342). – Jubobs

답변

1

내가 scalacheck에 대한 전문가가 아니에요,하지만 난 코 세라 할당을 완료했습니다.

  1. whenever없이 수행 할 수 있습니다.
  2. API documentation에 언급 된 whenever을 찾을 수 없습니다.
1

Scalacheck에는 "언제든지"기능이 없지만 대신 ==> 방법을 사용할 수 있습니다. 당신이 형질 PropertyChecks에서 (수입 org.scalatest.prop.PropertyChecks)를 혼합 할 수 대신 scalacheck의 scalatest 특성을 기반으로 테스트를 사용하려면

을 (당신은 org.scalacheck.Prop.BooleanOperators를 가져와야합니다)하고 "언제든지"기능을 사용할 수 있습니다.