genvalidity-property 0.1.0.0 → 0.2.0.0
raw patch · 7 files changed
+103/−100 lines, 7 filesdep ~doctestdep ~genvaliditydep ~hspecPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: doctest, genvalidity, hspec, validity
API changes (from Hackage documentation)
Files
- doctest/DocTest.hs +26/−0
- genvalidity-property.cabal +69/−57
- src/Test/Validity/Functions/Equivalence.hs +2/−1
- src/Test/Validity/Functions/Idempotence.hs +4/−12
- src/Test/Validity/Property.hs +1/−1
- src/Test/Validity/Relations/Transitivity.hs +1/−2
- test/DocTest.hs +0/−27
+ doctest/DocTest.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE CPP #-}+#if !MIN_VERSION_base(4,8,0)+import Data.Functor ((<$>))+#endif+import Test.DocTest++import Control.Monad++import System.Directory+import System.FilePath++main :: IO ()+main = do+ fs <- listFilesRecur "src"+ doctest $ "-isrc" : fs++listFilesRecur :: FilePath -> IO [FilePath]+listFilesRecur dir = do+ entries <-+ (map (dir </>) .+ filter (\f -> f /= "." && f /= ".." && takeExtension f /= ".swp")) <$>+ getDirectoryContents dir+ dirs <- filterM doesDirectoryExist entries+ files <- filterM doesFileExist entries+ rests <- mapM listFilesRecur dirs+ return $ concat $ files : rests
genvalidity-property.cabal view
@@ -1,63 +1,75 @@-name: genvalidity-property-version: 0.1.0.0-cabal-version: >=1.10-build-type: Simple-license: MIT-license-file: LICENSE-copyright: Copyright: (c) 2016 Tom Sydney Kerckhove-maintainer: syd.kerckhove@gmail.com-homepage: https://github.com/NorfairKing/validity#readme-synopsis: Standard properties for functions on `Validity` types-description:- Standard properties for functions on `Validity` types-category: Testing-author: Tom Sydney Kerckhove+-- This file has been generated from package.yaml by hpack version 0.20.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 88ebdd6aba74a11de1e4d1cdf78781911c52e8e435ccf2d5810e9fa541c8947b +name: genvalidity-property+version: 0.2.0.0+synopsis: Standard properties for functions on `Validity` types+description: Standard properties for functions on `Validity` types+category: Testing+homepage: https://github.com/NorfairKing/validity#readme+bug-reports: https://github.com/NorfairKing/validity/issues+author: Tom Sydney Kerckhove+maintainer: syd.kerckhove@gmail.com+copyright: Copyright: (c) 2016-2018 Tom Sydney Kerckhove+license: MIT+license-file: LICENSE+build-type: Simple+cabal-version: >= 1.10+ source-repository head- type: git- location: https://github.com/NorfairKing/validity+ type: git+ location: https://github.com/NorfairKing/validity library- exposed-modules:- Test.Validity.Functions- Test.Validity.Functions.CanFail- Test.Validity.Functions.Equivalence- Test.Validity.Functions.Idempotence- Test.Validity.Functions.Inverse- Test.Validity.Functions.Validity- Test.Validity.GenValidity.Property- Test.Validity.Operations- Test.Validity.Operations.Associativity- Test.Validity.Operations.Commutativity- Test.Validity.Operations.Identity- Test.Validity.Property- Test.Validity.Property.Utils- Test.Validity.Relations- Test.Validity.Relations.Antireflexivity- Test.Validity.Relations.Antisymmetry- Test.Validity.Relations.Reflexivity- Test.Validity.Relations.Symmetry- Test.Validity.Relations.Transitivity- Test.Validity.Shrinking.Property- Test.Validity.Types- build-depends:- base >=4.7 && <5,- validity >=0.4 && <0.5,- genvalidity >=0.4 && <0.5,- QuickCheck -any,- hspec >=2.1 && <2.5- default-language: Haskell2010- hs-source-dirs: src+ hs-source-dirs:+ src+ build-depends:+ QuickCheck+ , base >=4.7 && <5+ , genvalidity >=0.5 && <0.6+ , hspec >=2.1+ , validity >=0.5 && <0.6+ exposed-modules:+ Test.Validity.Functions+ Test.Validity.Functions.CanFail+ Test.Validity.Functions.Equivalence+ Test.Validity.Functions.Idempotence+ Test.Validity.Functions.Inverse+ Test.Validity.Functions.Validity+ Test.Validity.GenValidity.Property+ Test.Validity.Operations+ Test.Validity.Operations.Associativity+ Test.Validity.Operations.Commutativity+ Test.Validity.Operations.Identity+ Test.Validity.Property+ Test.Validity.Property.Utils+ Test.Validity.Relations+ Test.Validity.Relations.Antireflexivity+ Test.Validity.Relations.Antisymmetry+ Test.Validity.Relations.Reflexivity+ Test.Validity.Relations.Symmetry+ Test.Validity.Relations.Transitivity+ Test.Validity.Shrinking.Property+ Test.Validity.Types+ other-modules:+ Paths_genvalidity_property+ default-language: Haskell2010 test-suite genvalidity-property-doctests- type: exitcode-stdio-1.0- main-is: DocTest.hs- build-depends:- base -any,- doctest >=0.9 && <0.12,- genvalidity-property -any,- directory >=1.2 && <1.4,- filepath >=1.3 && <1.5- default-language: Haskell2010- hs-source-dirs: test- ghc-options: -threaded+ type: exitcode-stdio-1.0+ main-is: DocTest.hs+ hs-source-dirs:+ doctest+ ghc-options: -threaded+ build-depends:+ base+ , directory >=1.2 && <1.4+ , doctest+ , filepath >=1.3 && <1.5+ , genvalidity-property+ other-modules:+ Paths_genvalidity_property+ default-language: Haskell2010
src/Test/Validity/Functions/Equivalence.hs view
@@ -87,7 +87,8 @@ -> Gen (a, b) -> ((a, b) -> [(a, b)]) -> Property-equivalentOnGens2 f g gen s = forAllShrink gen s $ \(a, b) -> f a b `shouldBe` g a b+equivalentOnGens2 f g gen s =+ forAllShrink gen s $ \(a, b) -> f a b `shouldBe` g a b equivalentOnValids2 :: (Show a, GenValid a, Show b, GenValid b, Show c, Eq c)
src/Test/Validity/Functions/Idempotence.hs view
@@ -14,19 +14,13 @@ import Test.Hspec import Test.QuickCheck -idempotentOnGen- :: (Show a, Eq a)- => (a -> a) -> Gen a -> (a -> [a]) -> Property+idempotentOnGen :: (Show a, Eq a) => (a -> a) -> Gen a -> (a -> [a]) -> Property idempotentOnGen f gen s = forAllShrink gen s $ \a -> f (f a) `shouldBe` f a -idempotentOnValid- :: (Show a, Eq a, GenValid a)- => (a -> a) -> Property+idempotentOnValid :: (Show a, Eq a, GenValid a) => (a -> a) -> Property idempotentOnValid func = idempotentOnGen func genValid shrinkValid -idempotent- :: (Show a, Eq a, GenUnchecked a)- => (a -> a) -> Property+idempotent :: (Show a, Eq a, GenUnchecked a) => (a -> a) -> Property idempotent func = idempotentOnGen func genUnchecked shrinkUnchecked -- |@@ -38,7 +32,5 @@ -- 'const', given any input, is idempotent for any type as well: -- -- prop> \int -> idempotentOnArbitrary (const int :: Int -> Int)-idempotentOnArbitrary- :: (Show a, Eq a, Arbitrary a)- => (a -> a) -> Property+idempotentOnArbitrary :: (Show a, Eq a, Arbitrary a) => (a -> a) -> Property idempotentOnArbitrary func = idempotentOnGen func arbitrary shrink
src/Test/Validity/Property.hs view
@@ -191,6 +191,6 @@ import Test.Validity.Functions import Test.Validity.GenValidity.Property import Test.Validity.Operations+import Test.Validity.Property.Utils import Test.Validity.Relations import Test.Validity.Types-import Test.Validity.Property.Utils
src/Test/Validity/Relations/Transitivity.hs view
@@ -33,8 +33,7 @@ transitivityOnGens :: Show a => (a -> a -> Bool) -> Gen (a, a, a) -> (a -> [a]) -> Property transitivityOnGens func gen s =- forAllShrink gen (shrinkT3 s) $ \(a, b, c) ->- transitiveOnElems func a b c+ forAllShrink gen (shrinkT3 s) $ \(a, b, c) -> transitiveOnElems func a b c -- | --
− test/DocTest.hs
@@ -1,27 +0,0 @@-{-# LANGUAGE CPP #-}-#if !MIN_VERSION_base(4,8,0)-import Data.Functor ((<$>))-#endif--import Test.DocTest--import Control.Monad--import System.Directory-import System.FilePath--main :: IO ()-main = do- fs <- listFilesRecur "src"- doctest $ "-isrc" : fs--listFilesRecur :: FilePath -> IO [FilePath]-listFilesRecur dir = do- entries <-- (map (dir </>) .- filter (\f -> f /= "." && f /= ".." && takeExtension f /= ".swp")) <$>- getDirectoryContents dir- dirs <- filterM doesDirectoryExist entries- files <- filterM doesFileExist entries- rests <- mapM listFilesRecur dirs- return $ concat $ files : rests