quickcheck-combinators: Simple type-level combinators for augmenting QuickCheck instances.

[ bsd3, library, test ] [ Propose Tags ]


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0.0, 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6
Dependencies base (>=4.11 && <5), QuickCheck, unfoldable-restricted (>=0.0.1), unit-constraint [details]
License BSD-3-Clause
Copyright 2023 (c) Athan Clark
Author Athan Clark
Maintainer athan.clark@gmail.com
Category Test
Home page https://github.com/athanclark/quickcheck-combinators#readme
Bug tracker https://github.com/athanclark/quickcheck-combinators/issues
Source repo head: git clone https://github.com/athanclark/quickcheck-combinators
Uploaded by athanclark at 2023-09-22T09:45:44Z
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 3509 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-09-22 [all 1 reports]

Readme for quickcheck-combinators-0.0.6

[back to package description]


Simply wrap the type you want to generate (assuming it satisfies all the necessary constraints) to refine the terms generated:

{-# LANGUAGE DataKinds #-}

import Data.Set (Set)
import Test.QuickCheck
import Test.QuickCheck.Instances
import GHC.TypeLits

instance Arbitrary LinearEquation where
  arbitrary = do
    vars <- arbitrary :: Gen (AtLeast 3 Set String)
    -- ...