packages feed

deka-tests-0.6.0.2: lib/Deka/Tests/Util.hs

module Deka.Tests.Util where

import Test.QuickCheck

varInt :: Int -> Gen b -> Gen b
varInt = variant

coarbitraryList :: (a -> Gen b -> Gen b) -> [a] -> Gen b -> Gen b
coarbitraryList f ls = case ls of
  [] -> varInt 0
  x:xs -> varInt 1 . f x . coarbitraryList f xs