packages feed

genvalidity-containers 1.0.0.0 → 1.0.0.1

raw patch · 7 files changed

+56/−18 lines, 7 filesdep ~genvalidity-criterionPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: genvalidity-criterion

API changes (from Hackage documentation)

+ Data.GenValidity.Map: shrinkMapOf :: Ord k => ((k, v) -> [(k, v)]) -> Map k v -> [Map k v]
+ Data.GenValidity.Sequence: shrinkSeqOf :: (v -> [v]) -> Seq v -> [Seq v]
+ Data.GenValidity.Set: shrinkSetOf :: Ord v => (v -> [v]) -> Set v -> [Set v]
+ Data.GenValidity.Tree: shrinkTreeOf :: (a -> [a]) -> Tree a -> [Tree a]

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Changelog +## [1.0.0.1] - 2022-08-30++### Added++* `shrinkSetOf`, `shrinkSeqOf`, `shrinkMapOf`, and `shrinkTreeOf`+ ## [1.0.0.0] - 2021-11-20  ### Changed
bench/Main.hs view
@@ -17,12 +17,28 @@ main :: IO () main =   Criterion.defaultMain-    [ genValidBench @(Set Int),-      genValidBench @(Seq Int),-      genValidBench @(Tree Int),-      genValidBench @(Forest Int),-      genValidBench @(Map Int Int),-      genBenchSizes "genSeqOf" $ genSeqOf (genValid :: Gen Int),-      genBenchSizes "genSetOf" $ genSetOf (genValid :: Gen Int),-      genBenchSizes "genMapOf" $ genMapOf (genValid :: Gen (Int, Int))+    [ bgroup+        "generators"+        [ genValidBench @(Set Int),+          genValidBench @(Seq Int),+          genValidBench @(Tree Int),+          genValidBench @(Forest Int),+          genValidBench @(Map Int Int),+          genBench "genSeqOf" $ genSeqOf (genValid :: Gen Int),+          genBench "genSetOf" $ genSetOf (genValid :: Gen Int),+          genBench "genMapOf" $ genMapOf (genValid :: Gen (Int, Int)),+          genBench "genTreeOf" $ genTreeOf (genValid :: Gen (Int, Int))+        ],+      bgroup+        "shrinkers"+        [ shrinkValidBench @(Set Int),+          shrinkValidBench @(Seq Int),+          shrinkValidBench @(Tree Int),+          shrinkValidBench @(Forest Int),+          shrinkValidBench @(Map Int Int),+          shrinkBench "shrinkSeqOf" $ shrinkSeqOf (shrinkValid :: Int -> [Int]),+          shrinkBench "shrinkSetOf" $ shrinkSetOf (shrinkValid :: Int -> [Int]),+          shrinkBench "shrinkMapOf" $ shrinkMapOf (shrinkValid :: (Int, Int) -> [(Int, Int)]),+          shrinkBench "shrinkTreeOf" $ shrinkTreeOf (shrinkValid :: Int -> [Int])+        ]     ]
genvalidity-containers.cabal view
@@ -1,18 +1,18 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.4.+-- This file has been generated from package.yaml by hpack version 0.34.7. -- -- see: https://github.com/sol/hpack  name:           genvalidity-containers-version:        1.0.0.0+version:        1.0.0.1 synopsis:       GenValidity support for containers category:       Testing homepage:       https://github.com/NorfairKing/validity#readme bug-reports:    https://github.com/NorfairKing/validity/issues author:         Tom Sydney Kerckhove maintainer:     syd@cs-syd.eu-copyright:      Copyright: (c) 2016-2021 Tom Sydney Kerckhove+copyright:      Copyright: (c) 2016-2022 Tom Sydney Kerckhove license:        MIT license-file:   LICENSE build-type:     Simple@@ -84,5 +84,5 @@     , criterion     , genvalidity     , genvalidity-containers-    , genvalidity-criterion+    , genvalidity-criterion >=1.1.0.0   default-language: Haskell2010
src/Data/GenValidity/Map.hs view
@@ -2,6 +2,7 @@  module Data.GenValidity.Map   ( genMapOf,+    shrinkMapOf,   ) where @@ -13,7 +14,10 @@  instance (Show k, Ord k, GenValid k, GenValid v) => GenValid (Map k v) where   genValid = genMapOf genValid-  shrinkValid = fmap M.fromList . shrinkValid . M.toList+  shrinkValid = shrinkMapOf shrinkValid  genMapOf :: Ord k => Gen (k, v) -> Gen (Map k v) genMapOf g = M.fromList <$> genListOf g++shrinkMapOf :: Ord k => ((k, v) -> [(k, v)]) -> Map k v -> [Map k v]+shrinkMapOf shrinker = fmap M.fromList . shrinkList shrinker . M.toList
src/Data/GenValidity/Sequence.hs view
@@ -2,6 +2,7 @@  module Data.GenValidity.Sequence   ( genSeqOf,+    shrinkSeqOf,   ) where @@ -14,7 +15,10 @@  instance GenValid v => GenValid (Seq v) where   genValid = genSeqOf genValid-  shrinkValid = fmap S.fromList . shrinkValid . toList+  shrinkValid = shrinkSeqOf shrinkValid  genSeqOf :: Gen v -> Gen (Seq v) genSeqOf g = S.fromList <$> genListOf g++shrinkSeqOf :: (v -> [v]) -> Seq v -> [Seq v]+shrinkSeqOf shrinker = fmap S.fromList . shrinkList shrinker . toList
src/Data/GenValidity/Set.hs view
@@ -2,6 +2,7 @@  module Data.GenValidity.Set   ( genSetOf,+    shrinkSetOf,     genSeperate,     genSeperateFor,     genSeperateForNE,@@ -20,11 +21,14 @@ import Test.QuickCheck  instance (Ord v, GenValid v) => GenValid (Set v) where-  genValid = S.fromList <$> genValid-  shrinkValid = fmap S.fromList . shrinkValid . S.toList+  genValid = genSetOf genValid+  shrinkValid = shrinkSetOf shrinkValid  genSetOf :: Ord v => Gen v -> Gen (Set v) genSetOf g = S.fromList <$> genListOf g++shrinkSetOf :: Ord v => (v -> [v]) -> Set v -> [Set v]+shrinkSetOf shrinker = fmap S.fromList . shrinkList shrinker . S.toList  genValidSeperateFor :: (GenValid b, Eq b) => [a] -> Gen [(b, a)] genValidSeperateFor = genSeperateFor genValid
src/Data/GenValidity/Tree.hs view
@@ -1,6 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -module Data.GenValidity.Tree where+module Data.GenValidity.Tree (genTreeOf, shrinkTreeOf) where  import Data.GenValidity import Data.List.NonEmpty (NonEmpty (..))@@ -11,7 +11,11 @@  instance GenValid a => GenValid (Tree a) where   genValid = genTreeOf genValid-  shrinkValid (Node v ts) = [Node v' ts' | (v', ts') <- shrinkValid (v, ts)]+  shrinkValid = shrinkTreeOf shrinkValid++shrinkTreeOf :: (a -> [a]) -> Tree a -> [Tree a]+shrinkTreeOf shrinker (Node v ts) =+  [Node v' ts' | (v', ts') <- shrinkTuple shrinker (shrinkList (shrinkTreeOf shrinker)) (v, ts)]  -- | Generate a tree of values that are generated as specified. --