Kiedy chcę przetestować czysty kod przy użyciu QuickCheck
, często muszę napisać instancję Arbitrary
. Aby przetestować monadyczny kod, mogę użyć Test.QuickCheck.Monadic
, jak opisano w tym article.Czy istnieje monadyczna wersja arbitralna do użycia z funkcją QuickCheck?
Moje pytanie to: Czy istnieje jakiś sposób kanonicznego generowania danych, które zależą od monadycznego kontekstu? W szczególności, czy istnieje jakaś monadyczna wersja arbitrażu? Jak byś zrobił generowanie danych wymagających monadycznego kontekstu?