Помогите с ScalaCheck - PullRequest
       46

Помогите с ScalaCheck

5 голосов
/ 29 сентября 2011

Я бы хотел использовать черту ScalaTest Checkers для использования ScalaCheck из случаев ScalaTest.

Простой случай, с которым я играю:

 test("can create local date UTC from millis") {
     check(localDate.toTimestampUTC.toLocalDateUTC == localDate)
 }

Мне нужно создать произвольныйLocalDate, поэтому я попытался это:

object ArbitraryValues {
    implicit def abc(): Arbitrary[LocalDate] = Arbitrary(Gen.choose(new LocalDate(0L), new LocalDate(Long.MaxValue)))
}

Не компилируется, говоря,

ошибка: не удалось найти неявное значение для параметра c: org.scalacheck.Choose [org.joda.time.LocalDate] неявное val abc: Arbitrary [LocalDate] = Arbitrary (Gen.choose (new LocalDate (0L), new LocalDate (Long.MaxValue))))

и

ошибка: не найдено: значение localDate check (localDate.toTimestampUTC.toLocalDateUTC == localDate)

1 Ответ

7 голосов
/ 29 сентября 2011

Хорошо, понял это методом проб и ошибок. Мой рабочий код выглядит так:

object ArbitraryValues {
    implicit val abc: Arbitrary[LocalDate] = Arbitrary(Gen.choose(0L, Long.MaxValue).map(new LocalDate(_)))
}

test("can create local date UTC from millis -and- vice versa") { check((localDate: LocalDate) =>
    localDate.toTimestampUTC.toLocalDateUTC == localDate)
}

Мне пришлось изменить способ создания произвольного [LocalDate], а затем обновить мой синтаксис для проверки.

...