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 +2/−2
- src/Data/GenValidity.hs +16/−0
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.