Как я могу установить условия для тестовых входных данных при выполнении тестирования на основе свойств?

Как я могу установить условия для тестовых входных данных при выполнении тестирования на основе свойств?

Например, следующий код генерирует логические значения, когда мне нужны целые числа:

Gen.map (fun v -> v > 0) 

Вот функция:

[<Property(QuietOnSuccess = true)>]
let ``number of cells in grid equals rowcount squared`` () =
    let values = Arb.generate<int> |> Gen.map (fun v -> v > 0) 
                                   |> Arb.fromGen

Мне нужно что-то вроде этого, чтобы я мог получить соответствующие целые числа:

Gen.filter (fun v -> v > 0) 

Однако я просто не вижу возможности для этого.

Какие-либо предложения?


person Scott Nimrod    schedule 12.05.2016    source источник
comment
Чувак, я уже начинаю осваивать FSharp. Хотя я все еще не на твоем уровне. Я взял двухнедельный перерыв в программировании и теперь вернулся.   -  person Scott Nimrod    schedule 12.05.2016
comment
Интересно: FsCheck — генераторы, сжиматели и произвольные экземпляры   -  person Guy Coder    schedule 12.05.2016
comment
Представляет интерес: FsCheck — Gen   -  person Guy Coder    schedule 12.05.2016
comment
Представляет интерес: Используйте FsCheck. для создания случайных фиктивных данных   -  person Guy Coder    schedule 12.05.2016
comment
Теперь мы добавили Gen.filter в FsCheck.   -  person Mark Seemann    schedule 13.05.2016


Ответы (1)


Попробуйте Gen.suchThat (fun v -> v > 0)

person Ray    schedule 12.05.2016