packages feed

quickcheck-monoid-subclasses-0.3.0.0: quickcheck-monoid-subclasses.cabal

cabal-version:  3.0
name:           quickcheck-monoid-subclasses
version:        0.3.0.0
bug-reports:    https://github.com/jonathanknowles/quickcheck-monoid-subclasses/issues
license:        Apache-2.0
license-file:   LICENSE
author:         Jonathan Knowles
maintainer:     mail@jonathanknowles.net
copyright:      2022–2023 Jonathan Knowles
category:       Testing
synopsis:       Testing monoid subclass instances with QuickCheck
description:

  QuickCheck support for testing instances of type classes defined in the
  monoid-subclasses library.

extra-doc-files:
    CHANGELOG.md
    README.md

common dependency-base
    build-depends:base                      >= 4.14.3.0     && < 4.19
common dependency-bytestring
    build-depends:bytestring                >= 0.10.12.0    && < 0.12
common dependency-commutative-semigroups
    build-depends:commutative-semigroups    >= 0.1.0.0      && < 0.2
common dependency-containers
    build-depends:containers                >= 0.6.5.1      && < 0.7
common dependency-hspec
    build-depends:hspec                     >= 2.10.7       && < 2.11
common dependency-monoid-subclasses
    build-depends:monoid-subclasses         >= 1.2.3        && < 1.3
common dependency-pretty-show
    build-depends:pretty-show               >= 1.10         && < 1.11
common dependency-QuickCheck
    build-depends:QuickCheck                >= 2.14.2       && < 2.15
common dependency-quickcheck-classes
    build-depends:quickcheck-classes        >= 0.6.5.0      && < 0.7
common dependency-quickcheck-instances
    build-depends:quickcheck-instances      >= 0.3.28       && < 0.4
common dependency-semigroupoids
    build-depends:semigroupoids             >= 5.3.7        && < 6.1
common dependency-text
    build-depends:text                      >= 1.2.4.1      && < 2.1
common dependency-vector
    build-depends:vector                    >= 0.12.3.1     && < 0.14

common extensions
    default-extensions:
        ConstraintKinds
        DataKinds
        DerivingStrategies
        FlexibleContexts
        FlexibleInstances
        GeneralizedNewtypeDeriving
        LambdaCase
        PolyKinds
        ScopedTypeVariables
        TypeApplications
        ViewPatterns

source-repository head
    type: git
    location: https://github.com/jonathanknowles/quickcheck-monoid-subclasses

library
    import:
      , dependency-base
      , dependency-monoid-subclasses
      , dependency-QuickCheck
      , dependency-quickcheck-classes
      , extensions
    build-depends:
      , internal
    default-language:
        Haskell2010
    hs-source-dirs:
        src/public
    exposed-modules:
        Test.QuickCheck.Classes.Monoid.Factorial
        Test.QuickCheck.Classes.Monoid.GCD
        Test.QuickCheck.Classes.Monoid.LCM
        Test.QuickCheck.Classes.Monoid.Monus
        Test.QuickCheck.Classes.Monoid.Null
        Test.QuickCheck.Classes.Semigroup.Cancellative
        Test.QuickCheck.Classes.Semigroup.Factorial

library internal
    import:
      , dependency-base
      , dependency-pretty-show
      , dependency-QuickCheck
      , dependency-semigroupoids
      , extensions
    default-language:
        Haskell2010
    hs-source-dirs:
        src/internal
    exposed-modules:
        Internal
        Internal.Semigroup.Eq
        Internal.Semigroup.Tuple

library prelude
    import:
      , dependency-base
      , dependency-containers
      , dependency-monoid-subclasses
      , dependency-QuickCheck
      , dependency-quickcheck-classes
      , dependency-quickcheck-instances
      , extensions
    build-depends:
      , internal
      , quickcheck-monoid-subclasses
    default-language:
        Haskell2010
    hs-source-dirs:
        src/prelude
    exposed-modules:
        Internal.Prelude

test-suite test
    import:
      , dependency-base
      , dependency-bytestring
      , dependency-commutative-semigroups
      , dependency-containers
      , dependency-hspec
      , dependency-monoid-subclasses
      , dependency-QuickCheck
      , dependency-quickcheck-classes
      , dependency-quickcheck-instances
      , dependency-text
      , dependency-vector
      , extensions
    build-depends:
      , quickcheck-monoid-subclasses
    default-language:
        Haskell2010
    ghc-options:
        -threaded -with-rtsopts=-N
    main-is:
        Spec.hs
    hs-source-dirs:
        src/test
    other-modules:
        ClassSpec
        SpecHook
        Test.Hspec.Laws
    type:
        exitcode-stdio-1.0
    build-tool-depends:
        hspec-discover:hspec-discover == 2.*