packages feed

genvalidity 0.4.0.0 → 0.4.0.1

raw patch · 2 files changed

+18/−2 lines, 2 filesdep ~validityPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: validity

API changes (from Hackage documentation)

+ Data.GenValidity: instance Data.GenValidity.GenInvalid a => Data.GenValidity.GenInvalid (Data.List.NonEmpty.NonEmpty a)
+ Data.GenValidity: instance Data.GenValidity.GenUnchecked a => Data.GenValidity.GenUnchecked (Data.List.NonEmpty.NonEmpty a)
+ Data.GenValidity: instance Data.GenValidity.GenValid a => Data.GenValidity.GenValid (Data.List.NonEmpty.NonEmpty a)

Files

genvalidity.cabal view
@@ -1,5 +1,5 @@ name: genvalidity-version: 0.4.0.0+version: 0.4.0.1 cabal-version: >=1.10 build-type: Simple license: MIT@@ -47,7 +47,7 @@         Data.GenRelativeValidity     build-depends:         base >=4.7 && <5,-        validity >=0.4 && <0.5,+        validity >=0.4.0.1 && <0.5,         QuickCheck >=2.7 && <2.10     default-language: Haskell2010     hs-source-dirs: src
src/Data/GenValidity.hs view
@@ -63,6 +63,7 @@ import Data.Validity  import Data.Fixed (Fixed(..), HasResolution)+import Data.List.NonEmpty (NonEmpty((:|))) import Data.Word (Word, Word8, Word16, Word32, Word64) import GHC.Generics import GHC.Real (Ratio(..))@@ -287,6 +288,21 @@ instance GenUnchecked a => GenUnchecked [a] where     genUnchecked = genListOf genUnchecked     shrinkUnchecked = shrinkList shrinkUnchecked++instance GenUnchecked a => GenUnchecked (NonEmpty a) where+    genUnchecked = (:|) <$> genUnchecked <*> genUnchecked+    shrinkUnchecked (v :| vs) = [ e :| es | (e, es) <- shrinkUnchecked (v, vs)]++instance GenValid a => GenValid (NonEmpty a) where+    genValid = (:|) <$> genValid <*> genValid++instance GenInvalid a => GenInvalid (NonEmpty a) where+    genInvalid = sized $ \n -> do+      (a, b) <- genSplit n+      oneof+        [ (:|) <$> resize a genUnchecked <*> resize b genInvalid+        , (:|) <$> resize a genInvalid <*> resize b genUnchecked+        ]  -- | If we can generate values of a certain type, we can also generate lists of -- them.