packages feed

genvalidity 0.2.0.0 → 0.2.0.1

raw patch · 2 files changed

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

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: base, validity

API changes (from Hackage documentation)

+ Data.GenValidity: instance (Data.GenValidity.GenValidity a, Data.GenValidity.GenValidity b) => Data.GenValidity.GenValidity (a, b)
+ Data.GenValidity: instance (Data.GenValidity.GenValidity a, Data.GenValidity.GenValidity b, Data.GenValidity.GenValidity c) => Data.GenValidity.GenValidity (a, b, c)

Files

genvalidity.cabal view
@@ -1,5 +1,5 @@ name:                genvalidity-version:             0.2.0.0+version:             0.2.0.1 synopsis:            Testing utilities for the validity library description:         Please see README.md homepage:            https://github.com/NorfairKing/validity#readme@@ -18,7 +18,7 @@   exposed-modules:     Data.GenValidity                      , Data.GenRelativeValidity   build-depends:       base               < 5-                     , validity           >= 0.2 && < 0.3+                     , validity           >= 0.3 && < 0.4                      , QuickCheck         >= 2.8 && < 2.9   default-language:    Haskell2010 
src/Data/GenValidity.hs view
@@ -87,6 +87,66 @@     genInvalid = genUnchecked `suchThat` (not . isValid)     {-# MINIMAL genUnchecked #-} +instance (GenValidity a, GenValidity b) => GenValidity (a, b) where+    genUnchecked = sized $ \n -> do+        (r, s) <- genSplit n+        a <- resize r genUnchecked+        b <- resize s genUnchecked+        return (a, b)++    genValid = sized $ \n -> do+        (r, s) <- genSplit n+        a <- resize r genValid+        b <- resize s genValid+        return (a, b)++    genInvalid = sized $ \n -> do+        (r, s) <- genSplit n+        oneof+            [ do+                a <- resize r genUnchecked+                b <- resize s genInvalid+                return (a, b)+            , do+                a <- resize r genInvalid+                b <- resize s genUnchecked+                return (a, b)+            ]++instance (GenValidity a, GenValidity b, GenValidity c) => GenValidity (a, b, c) where+    genUnchecked = sized $ \n -> do+        (r, s, t) <- genSplit3 n+        a <- resize r genUnchecked+        b <- resize s genUnchecked+        c <- resize t genUnchecked+        return (a, b, c)++    genValid = sized $ \n -> do+        (r, s, t) <- genSplit3 n+        a <- resize r genValid+        b <- resize s genValid+        c <- resize t genValid+        return (a, b, c)++    genInvalid = sized $ \n -> do+        (r, s, t) <- genSplit3 n+        oneof+            [ do+                a <- resize r genInvalid+                b <- resize s genUnchecked+                c <- resize t genUnchecked+                return (a, b, c)+            , do+                a <- resize r genUnchecked+                b <- resize s genInvalid+                c <- resize t genUnchecked+                return (a, b, c)+            , do+                a <- resize r genUnchecked+                b <- resize s genUnchecked+                c <- resize t genInvalid+                return (a, b, c)+            ]  instance GenValidity a => GenValidity (Maybe a) where     genUnchecked = oneof [pure Nothing, Just <$> genUnchecked]