packages feed

quickcheck-instances 0.3.27 → 0.3.28

raw patch · 6 files changed

+113/−28 lines, 6 filesdep +primitivedep ~basedep ~natsdep ~vectorPVP ok

version bump matches the API change (PVP)

Dependencies added: primitive

Dependency ranges changed: base, nats, vector

API changes (from Hackage documentation)

+ Test.QuickCheck.Instances.Primitive: instance Test.QuickCheck.Arbitrary.Arbitrary Data.Primitive.ByteArray.ByteArray
+ Test.QuickCheck.Instances.Primitive: instance Test.QuickCheck.Arbitrary.CoArbitrary Data.Primitive.ByteArray.ByteArray
+ Test.QuickCheck.Instances.Primitive: instance Test.QuickCheck.Function.Function Data.Primitive.ByteArray.ByteArray

Files

CHANGES view
@@ -1,3 +1,8 @@+0.3.28++* Add instances for `Data.Array.Byte.ByteArray` (`base-4.17`)+* Add instances for `Data.Primitive.ByteArray` (`primitive`)+ 0.3.27  * Add instances for `Backwards`, `Reverse` and `Lift` from `transformers`
quickcheck-instances.cabal view
@@ -1,5 +1,5 @@ name:               quickcheck-instances-version:            0.3.27+version:            0.3.28 synopsis:           Common quickcheck instances description:   QuickCheck instances.@@ -40,8 +40,9 @@    || ==8.6.5    || ==8.8.4    || ==8.10.4-   || ==9.0.1-   || ==9.2.1+   || ==9.0.2+   || ==9.2.4+   || ==9.4.1  source-repository head   type:     git@@ -57,6 +58,7 @@   exposed-modules:     Test.QuickCheck.Instances     Test.QuickCheck.Instances.Array+    Test.QuickCheck.Instances.Array.Byte     Test.QuickCheck.Instances.ByteString     Test.QuickCheck.Instances.CaseInsensitive     Test.QuickCheck.Instances.Containers@@ -64,6 +66,7 @@     Test.QuickCheck.Instances.Hashable     Test.QuickCheck.Instances.Natural     Test.QuickCheck.Instances.OldTime+    Test.QuickCheck.Instances.Primitive     Test.QuickCheck.Instances.Scientific     Test.QuickCheck.Instances.Semigroup     Test.QuickCheck.Instances.Solo@@ -81,31 +84,32 @@   other-modules:    Test.QuickCheck.Instances.CustomPrelude   hs-source-dirs:   src   build-depends:-      base        >=4.5    && <4.17+      base        >=4.5    && <4.18     , QuickCheck  >=2.14.1 && <2.14.3     , splitmix    >=0.0.2  && <0.2    build-depends:-      array                 >=0.4.0.0 && <0.6-    , bytestring            >=0.9.2.1 && <0.12-    , case-insensitive      >=1.2.0.4 && <1.3-    , containers            >=0.4.2.1 && <0.7-    , data-fix              >=0.3     && <0.4-    , hashable              >=1.2.7.0 && <1.5-    , integer-logarithms    >=1.0.3   && <1.1-    , old-time              >=1.1.0.0 && <1.2-    , OneTuple              >=0.3     && <0.4-    , scientific            >=0.3.6.2 && <0.4-    , strict                >=0.4     && <0.5-    , tagged                >=0.8.6   && <0.9-    , text                  >=1.2.3.0 && <1.3-    , these                 >=1.1.1.1 && <1.2-    , time-compat           >=1.9.4   && <1.10-    , transformers          >=0.3.0.0 && <0.7-    , transformers-compat   >=0.6.5   && <0.8-    , unordered-containers  >=0.2.2.0 && <0.3-    , uuid-types            >=1.0.3   && <1.1-    , vector                >=0.9     && <0.13+      array                 >=0.4.0.0  && <0.6+    , bytestring            >=0.9.2.1  && <0.12+    , case-insensitive      >=1.2.0.4  && <1.3+    , containers            >=0.4.2.1  && <0.7+    , data-fix              >=0.3      && <0.4+    , hashable              >=1.2.7.0  && <1.5+    , integer-logarithms    >=1.0.3    && <1.1+    , old-time              >=1.1.0.0  && <1.2+    , OneTuple              >=0.3      && <0.4+    , primitive             >=0.6.4.0  && <0.8+    , scientific            >=0.3.6.2  && <0.4+    , strict                >=0.4      && <0.5+    , tagged                >=0.8.6    && <0.9+    , text                  >=1.2.3.0  && <1.3 || >=2.0 && <2.1+    , these                 >=1.1.1.1  && <1.2+    , time-compat           >=1.9.4    && <1.10+    , transformers          >=0.3.0.0  && <0.7+    , transformers-compat   >=0.6.5    && <0.8+    , unordered-containers  >=0.2.2.0  && <0.3+    , uuid-types            >=1.0.3    && <1.1+    , vector                >=0.12.3.1 && <0.14    -- version is irrelevant.   build-depends:    time@@ -115,7 +119,7 @@    if !impl(ghc >=7.10)     build-depends:-        nats  >=1     && <1.2+        nats  >=1.1.2 && <1.2       , void  >=0.7.2 && <0.8    if flag(bytestring-builder)@@ -140,6 +144,7 @@   build-depends:       base     , containers+    , primitive     , QuickCheck     , quickcheck-instances     , tagged
src/Test/QuickCheck/Instances.hs view
@@ -1,6 +1,4 @@ {-# LANGUAGE CPP              #-}-{-# LANGUAGE FlexibleContexts #-}-{-# OPTIONS_GHC -fno-warn-orphans #-} {-| Instances are provided for the types in the packages: @@ -32,6 +30,8 @@   * uuid + * primitive+  * vector  Since all of these instances are provided as orphans, I recommend that@@ -44,14 +44,15 @@ module Test.QuickCheck.Instances () where  import Test.QuickCheck.Instances.Array ()+import Test.QuickCheck.Instances.Array.Byte () import Test.QuickCheck.Instances.ByteString () import Test.QuickCheck.Instances.CaseInsensitive () import Test.QuickCheck.Instances.Containers () import Test.QuickCheck.Instances.DataFix () import Test.QuickCheck.Instances.Hashable () import Test.QuickCheck.Instances.Natural ()-import Test.QuickCheck.Instances.Natural () import Test.QuickCheck.Instances.OldTime ()+import Test.QuickCheck.Instances.Primitive () import Test.QuickCheck.Instances.Scientific () import Test.QuickCheck.Instances.Semigroup () import Test.QuickCheck.Instances.Solo ()
+ src/Test/QuickCheck/Instances/Array/Byte.hs view
@@ -0,0 +1,36 @@+{-# LANGUAGE CPP              #-}+{-# LANGUAGE FlexibleContexts #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Test.QuickCheck.Instances.Array.Byte () where++#if MIN_VERSION_base(4,17,0)++import Prelude ()+import Test.QuickCheck.Instances.CustomPrelude+import Test.QuickCheck.Instances.Primitive ()++import Test.QuickCheck++import Data.Array.Byte (ByteArray (..))+import qualified Data.Primitive as P++-- | @since 0.3.28+instance Arbitrary ByteArray where+    arbitrary = fromP <$> arbitrary+    shrink ba = fromP <$> shrink (toP ba)++-- | @since 0.3.28+instance CoArbitrary ByteArray where+    coarbitrary ba = coarbitrary (toP ba)++-- | @since 0.3.28+instance Function ByteArray where+    function = functionMap toP fromP++toP :: ByteArray -> P.ByteArray+toP (ByteArray ba) = P.ByteArray ba++fromP :: P.ByteArray -> ByteArray+fromP (P.ByteArray ba) = ByteArray ba++#endif
+ src/Test/QuickCheck/Instances/Primitive.hs view
@@ -0,0 +1,36 @@+{-# LANGUAGE CPP              #-}+{-# LANGUAGE FlexibleContexts #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Test.QuickCheck.Instances.Primitive () where++import Prelude ()+import Test.QuickCheck.Instances.CustomPrelude++import Data.Word (Word8)++import Test.QuickCheck++import qualified Data.Primitive as P++-------------------------------------------------------------------------------+-- ByteArray+-------------------------------------------------------------------------------++-- | @since 0.3.28+instance Arbitrary P.ByteArray where+    arbitrary = byteArrayFromList <$> arbitrary+    shrink ba = byteArrayFromList <$> shrink (byteArrayToList ba)++-- | @since 0.3.28+instance CoArbitrary P.ByteArray where+    coarbitrary ba = coarbitrary (byteArrayToList ba)++-- | @since 0.3.28+instance Function P.ByteArray where+    function = functionMap byteArrayToList byteArrayFromList++byteArrayFromList :: [Word8] -> P.ByteArray+byteArrayFromList = P.byteArrayFromList++byteArrayToList :: P.ByteArray -> [Word8]+byteArrayToList = P.foldrByteArray (:) []
test/Tests.hs view
@@ -5,6 +5,7 @@ import Test.QuickCheck.Instances ()  import qualified Data.Tree as Tree+import qualified Data.Primitive as Prim import           Data.UUID.Types (UUID)  -- | Example law: == (and thus ===) should be reflexive.@@ -20,3 +21,4 @@     quickCheck $ eqReflexive (Proxy :: Proxy Int)     quickCheck $ eqReflexive (Proxy :: Proxy (Tree.Tree Int))     quickCheck $ eqReflexive (Proxy :: Proxy UUID)+    quickCheck $ eqReflexive (Proxy :: Proxy Prim.ByteArray)