1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
|
cabal-version: 2.4
name: quickcheck-classes
version: 0.6.5.0
synopsis: QuickCheck common typeclasses
description:
This library provides QuickCheck properties to ensure
that typeclass instances adhere to the set of laws that
they are supposed to. There are other libraries that do
similar things, such as `genvalidity-hspec` and `checkers`.
This library differs from other solutions by not introducing
any new typeclasses that the user needs to learn.
.
/Note:/ on GHC < 8.5, this library uses the higher-kinded typeclasses
('Data.Functor.Classes.Show1', 'Data.Functor.Classes.Eq1', 'Data.Functor.Classes.Ord1', etc.),
but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to express these
constraints more cleanly.
homepage: https://github.com/andrewthad/quickcheck-classes#readme
license: BSD-3-Clause
license-file: LICENSE
author: Andrew Martin, chessai
maintainer: andrew.thaddeus@gmail.com
copyright: 2018 Andrew Martin
category: Testing
build-type: Simple
extra-source-files: README.md
extra-source-files: changelog.md
flag aeson
description:
You can disable the use of the `aeson` package using `-f-aeson`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag semigroupoids
description:
You can disable the use of the `semigroupoids` package using `-f-semigroupoids`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag semirings
description:
You can disable the use of the `semirings` package using `-f-semirings`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag vector
description:
You can disable the use of the `vector` package using `-f-vector`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag unary-laws
description:
Include infrastructure for testing class laws of unary type constructors.
It is required that this flag match the value that the `unary-laws` flag
was given when building `quickcheck-classes-base`.
default: True
manual: True
flag binary-laws
description:
Include infrastructure for testing class laws of binary type constructors.
It is required that this flag match the value that the `unary-laws` flag
was given when building `quickcheck-classes-base`. Disabling `unary-laws`
while keeping `binary-laws` enabled is an unsupported configuration.
default: True
manual: True
library
default-language: Haskell2010
hs-source-dirs: src
exposed-modules:
Test.QuickCheck.Classes
Test.QuickCheck.Classes.IsList
other-modules:
Test.QuickCheck.Classes.Alt
Test.QuickCheck.Classes.Apply
Test.QuickCheck.Classes.Euclidean
Test.QuickCheck.Classes.Json
Test.QuickCheck.Classes.MVector
Test.QuickCheck.Classes.Plus
Test.QuickCheck.Classes.Prim
Test.QuickCheck.Classes.Semigroupoid
Test.QuickCheck.Classes.Semiring
Test.QuickCheck.Classes.Ring
build-depends:
, base >= 4.5 && < 5
, QuickCheck >= 2.7
, transformers >= 0.3 && < 0.7
, primitive >= 0.6.4 && < 0.9
, primitive-addr >= 0.1.0.2 && < 0.2
, containers >= 0.4.2.1
, quickcheck-classes-base >=0.6.2 && <0.7
if impl(ghc < 8.0)
build-depends:
, semigroups >= 0.17
, fail
if impl(ghc < 7.8)
build-depends: tagged
if impl(ghc > 7.4) && impl(ghc < 7.6)
build-depends: ghc-prim
if impl(ghc > 8.5)
cpp-options: -DHAVE_QUANTIFIED_CONSTRAINTS
if flag(unary-laws)
build-depends:
, transformers >= 0.4.0
, QuickCheck >= 2.10.0
cpp-options: -DHAVE_UNARY_LAWS
if flag(binary-laws)
build-depends:
, transformers >= 0.5.0
, QuickCheck >= 2.10.0
cpp-options: -DHAVE_BINARY_LAWS
if flag(aeson)
build-depends: aeson >= 0.9
cpp-options: -DHAVE_AESON
if flag(semigroupoids)
build-depends: semigroupoids
cpp-options: -DHAVE_SEMIGROUPOIDS
if flag(semirings)
build-depends: semirings >= 0.4.2
cpp-options: -DHAVE_SEMIRINGS
if flag(vector)
build-depends: vector >= 0.12
cpp-options: -DHAVE_VECTOR
-- The basic test suite is compatible with all the versions of GHC that
-- this library supports. It is useful for confirming whether the laws tests
-- behave correct. Additionally, it helps catch CPP mistakes.
test-suite basic
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules:
Spec.ShowRead
build-depends:
, base
, base-orphans >= 0.5
, quickcheck-classes
, QuickCheck
, containers
, primitive
, vector
, transformers
, tagged
if impl(ghc > 8.5)
cpp-options: -DHAVE_QUANTIFIED_CONSTRAINTS
if flag(unary-laws)
cpp-options: -DHAVE_UNARY_LAWS
if flag(binary-laws)
cpp-options: -DHAVE_BINARY_LAWS
if flag(aeson)
build-depends: aeson
cpp-options: -DHAVE_AESON
if flag(semigroupoids)
build-depends: semigroupoids
cpp-options: -DHAVE_SEMIGROUPOIDS
if flag(vector)
build-depends: vector >= 0.12
cpp-options: -DHAVE_VECTOR
default-language: Haskell2010
-- The advanced test suite only builds with the newest version
-- of GHC. It is intended to be a sort of regression test for GHC and for
-- base. It check instances for a number of types in base. It also checks
-- a bunch of derived instances for data types of varying sizes. And it
-- does some tests on UnboxedSums.
test-suite advanced
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Advanced.hs
ghc-options: -O2
build-depends:
, QuickCheck
, base >= 4.12
, base-orphans >= 0.5
, containers
, primitive
, quickcheck-classes
, tagged
, tasty
, tasty-quickcheck
, transformers
, vector
if impl(ghc < 8.6)
buildable: False
default-language: Haskell2010
source-repository head
type: git
location: https://github.com/andrewthad/quickcheck-classes
|