4
Int
을 사용하는 생성자가있는 Foo
유형이 있습니다. scalacheck와 함께 Foo
에 대해 implicit
Arbitrary
을 정의하려면 어떻게해야합니까?간단한 암시 적 중재를 정의합니다
implicit def arbFoo: Arbitrary[Foo] = ???
나는 다음과 같은 해결책을했다,하지만 내 취향에 대해 조금 너무 "수동"낮은 수준의 : 이상적으로
val fooGen = for (i <- Gen.choose(Int.MinValue, Int.MaxValue)) yield new Foo(i)
implicit def arbFoo: Arbitrary[Foo] = Arbitrary(fooGen)
, 나는 고차 기능을 원하는 것이 어디 Int => Foo
기능을 연결하기 만하면됩니다.
나는 그것을 줄이려고 관리 :
implicit def arbFoo = Arbitrary(Gen.resultOf((i: Int) => new Foo(i)))
그러나 약간 간단한 방법이있을 가지고있다처럼 나는 아직도 생각합니다.
그것은 더 간단 :'암시 arbFoo 데프 = 임의 (Gen.resultOf (푸)) '. –