genvalidity-containers 0.2.0.1 → 0.3.0.0
raw patch · 5 files changed
+23/−34 lines, 5 filesdep ~genvaliditydep ~validitydep ~validity-containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: genvalidity, validity, validity-containers
API changes (from Hackage documentation)
Files
- genvalidity-containers.cabal +4/−4
- src/Data/GenValidity/Map.hs +5/−7
- src/Data/GenValidity/Sequence.hs +5/−6
- src/Data/GenValidity/Set.hs +4/−9
- src/Data/GenValidity/Tree.hs +5/−8
genvalidity-containers.cabal view
@@ -1,5 +1,5 @@ name: genvalidity-containers-version: 0.2.0.1+version: 0.3.0.0 cabal-version: >=1.10 build-type: Simple license: MIT@@ -28,9 +28,9 @@ base <5, QuickCheck -any, containers -any,- genvalidity >=0.3 && <0.4,- validity >=0.3 && <0.4,- validity-containers >=0.1 && <0.2+ genvalidity >=0.4 && <0.5,+ validity >=0.4 && <0.5,+ validity-containers >=0.2 && <0.3 default-language: Haskell2010 hs-source-dirs: src
src/Data/GenValidity/Map.hs view
@@ -13,16 +13,14 @@ import Data.Map (Map) import qualified Data.Map as M -instance (Ord k, GenUnchecked k, GenUnchecked v) =>- GenUnchecked (Map k v) where+instance (Ord k, GenUnchecked k, GenUnchecked v) => GenUnchecked (Map k v) where genUnchecked = M.fromList <$> genUnchecked+ shrinkUnchecked = fmap M.fromList . shrinkUnchecked . M.toList -instance (Ord k, GenValid k, GenValid v) =>- GenValid (Map k v) where+instance (Ord k, GenValid k, GenValid v) => GenValid (Map k v) where genValid = M.fromList <$> genValid -instance (Ord k, GenInvalid k, GenInvalid v) =>- GenInvalid (Map k v) where+instance (Ord k, GenInvalid k, GenInvalid v) => GenInvalid (Map k v) where genInvalid = sized $ \n -> do (k, v, m) <- genSplit3 n@@ -31,6 +29,6 @@ val <- resize v g2 rest <- resize m genUnchecked pure $ M.insert key val rest- oneof $ [go genInvalid genUnchecked, go genUnchecked genInvalid]+ oneof [go genInvalid genUnchecked, go genUnchecked genInvalid] -- Note: M.fromList <$> genInvalid does not work because of this line in the Data.Map documentation: -- ' If the list contains more than one value for the same key, the last value for the key is retained.'
src/Data/GenValidity/Sequence.hs view
@@ -5,20 +5,19 @@ #if !MIN_VERSION_base(4,8,0) import Data.Functor ((<$>)) #endif+import Data.Foldable (toList) import Data.GenValidity import Data.Validity.Sequence () import Data.Sequence (Seq) import qualified Data.Sequence as S -instance GenUnchecked v =>- GenUnchecked (Seq v) where+instance GenUnchecked v => GenUnchecked (Seq v) where genUnchecked = S.fromList <$> genUnchecked+ shrinkUnchecked = fmap S.fromList . shrinkUnchecked . toList -instance GenValid v =>- GenValid (Seq v) where+instance GenValid v => GenValid (Seq v) where genValid = S.fromList <$> genValid -instance GenInvalid v =>- GenInvalid (Seq v) where+instance GenInvalid v => GenInvalid (Seq v) where genInvalid = S.fromList <$> genInvalid
src/Data/GenValidity/Set.hs view
@@ -2,26 +2,21 @@ {-# LANGUAGE CPP #-} module Data.GenValidity.Set where- #if !MIN_VERSION_base(4,8,0) import Data.Functor ((<$>)) #endif-- import Data.GenValidity import Data.Validity.Set () import Data.Set (Set) import qualified Data.Set as S -instance (Ord v, GenUnchecked v) =>- GenUnchecked (Set v) where+instance (Ord v, GenUnchecked v) => GenUnchecked (Set v) where genUnchecked = S.fromList <$> genUnchecked+ shrinkUnchecked = fmap S.fromList . shrinkUnchecked . S.toList -instance (Ord v, GenValid v) =>- GenValid (Set v) where+instance (Ord v, GenValid v) => GenValid (Set v) where genValid = S.fromList <$> genValid -instance (Ord v, GenInvalid v) =>- GenInvalid (Set v) where+instance (Ord v, GenInvalid v) => GenInvalid (Set v) where genInvalid = S.fromList <$> genInvalid
src/Data/GenValidity/Tree.hs view
@@ -2,12 +2,10 @@ {-# LANGUAGE CPP #-} module Data.GenValidity.Tree where- #if !MIN_VERSION_base(4,8,0) import Control.Applicative ((<*>)) import Data.Functor ((<$>)) #endif- import Data.GenValidity import Data.Validity.Tree () @@ -15,18 +13,17 @@ import Data.Tree -instance GenUnchecked a =>- GenUnchecked (Tree a) where+instance GenUnchecked a => GenUnchecked (Tree a) where genUnchecked = genTreeOf genUnchecked+ shrinkUnchecked (Node v ts) =+ [Node v' ts' | (v', ts') <- shrinkUnchecked (v, ts)] -instance GenValid a =>- GenValid (Tree a) where+instance GenValid a => GenValid (Tree a) where genValid = genTreeOf genValid -- | There should be at least one invalid element, either it's here or it's -- further down the tree.-instance (GenUnchecked a, GenInvalid a) =>- GenInvalid (Tree a) where+instance (GenUnchecked a, GenInvalid a) => GenInvalid (Tree a) where genInvalid = sized $ \n -> do size <- upTo n