genvalidity-hspec 0.7.0.0 → 0.7.0.1
raw patch · 4 files changed
+32/−90 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Test.Validity: genGeneratesInvalid :: (Show a, Validity a) => Gen a -> (a -> [a]) -> Property
+ Test.Validity: genGeneratesInvalid :: (Show a, Validity a) => Gen a -> Property
- Test.Validity: genGeneratesValid :: (Show a, Validity a) => Gen a -> (a -> [a]) -> Property
+ Test.Validity: genGeneratesValid :: (Show a, Validity a) => Gen a -> Property
- Test.Validity.GenValidity: genGeneratesInvalid :: (Show a, Validity a) => Gen a -> (a -> [a]) -> Property
+ Test.Validity.GenValidity: genGeneratesInvalid :: (Show a, Validity a) => Gen a -> Property
- Test.Validity.GenValidity: genGeneratesValid :: (Show a, Validity a) => Gen a -> (a -> [a]) -> Property
+ Test.Validity.GenValidity: genGeneratesValid :: (Show a, Validity a) => Gen a -> Property
Files
- genvalidity-hspec.cabal +3/−3
- src/Test/Validity/Arbitrary.hs +1/−1
- src/Test/Validity/GenValidity.hs +2/−2
- src/Test/Validity/Ord.hs +26/−84
genvalidity-hspec.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.31.1.+-- This file has been generated from package.yaml by hpack version 0.31.2. -- -- see: https://github.com/sol/hpack ----- hash: 032a6b3927945fdf541b5dbf8921f9708dd352801187b0fd3165045007fdced9+-- hash: 791bd7ba810f379cf44a24551a54e049c374b48876b9f51b9fd0bb8807eb27e5 name: genvalidity-hspec-version: 0.7.0.0+version: 0.7.0.1 synopsis: Standard spec's for GenValidity instances description: Note: There are companion packages for this library: .
src/Test/Validity/Arbitrary.hs view
@@ -42,4 +42,4 @@ arbitraryGeneratesOnlyValid :: forall a. (Show a, Validity a, Arbitrary a) => Property-arbitraryGeneratesOnlyValid = genGeneratesValid @a arbitrary shrink+arbitraryGeneratesOnlyValid = genGeneratesValid @a arbitrary
src/Test/Validity/GenValidity.hs view
@@ -96,7 +96,7 @@ genValidGeneratesValid :: forall a. (Show a, GenValid a) => Property-genValidGeneratesValid = genGeneratesValid @a genValid shrinkValid+genValidGeneratesValid = genGeneratesValid @a genValid -- | @genValid@ only generates invalid data --@@ -107,4 +107,4 @@ genInvalidGeneratesInvalid :: forall a. (Show a, GenInvalid a) => Property-genInvalidGeneratesInvalid = genGeneratesInvalid @a genInvalid shrinkInvalid+genInvalidGeneratesInvalid = genGeneratesInvalid @a genInvalid
src/Test/Validity/Ord.hs view
@@ -111,6 +111,12 @@ fungestr = geTypeStr @a funltstr = ltTypeStr @a fungtstr = gtTypeStr @a+ minmaxtstr = genDescr @(a->a->a)+ itProp s_ = it $ unwords+ [ s_+ , "\"" ++ genname+ , name ++ "\"" ++ "'s"+ ] cmple = (<=) @a cmpge = (>=) @a cmplt = (<) @a@@ -120,104 +126,40 @@ s2 = shrinkT2 s describe ("Ord " ++ name) $ do describe funlestr $ do- it- (unwords- [ "is reflexive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is reflexive for" $ reflexivityOnGen cmple gen s- it- (unwords- [ "is antisymmetric for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is antisymmetric for" $ antisymmetryOnGens cmple gen2 s- it- (unwords- [ "is transitive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is transitive for" $ transitivityOnGens cmple gen3 s- it- (unwords- [ "is equivalent to (\\a b -> compare a b /= GT) for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is equivalent to (\\a b -> compare a b /= GT) for" $ equivalentOnGens2 cmple (\a b -> compare a b /= GT) gen2 s2 describe fungestr $ do- it- (unwords- [ "is reflexive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is reflexive for" $ reflexivityOnGen cmpge gen s- it- (unwords- [ "is antisymmetric for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is antisymmetric for" $ antisymmetryOnGens cmpge gen2 s- it- (unwords- [ "is transitive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is transitive for" $ transitivityOnGens cmpge gen3 s- it- (unwords- [ "is equivalent to (\\a b -> compare a b /= LT) for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is equivalent to (\\a b -> compare a b /= LT) for" $ equivalentOnGens2 cmpge (\a b -> compare a b /= LT) gen2 s2 describe funltstr $ do- it- (unwords- [ "is antireflexive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is antireflexive for" $ antireflexivityOnGen cmplt gen s- it- (unwords- [ "is transitive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is transitive for" $ transitivityOnGens cmplt gen3 s- it- (unwords- [ "is equivalent to (\\a b -> compare a b == LT) for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is equivalent to (\\a b -> compare a b == LT) for" $ equivalentOnGens2 cmplt (\a b -> compare a b == LT) gen2 s2 describe fungtstr $ do- it- (unwords- [ "is antireflexive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is antireflexive for" $ antireflexivityOnGen cmpgt gen s- it- (unwords- [ "is transitive for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is transitive for" $ transitivityOnGens cmpgt gen3 s- it- (unwords- [ "is equivalent to (\\a b -> compare a b == GT) for"- , "\"" ++ genname- , name ++ "\"" ++ "'s"- ]) $+ itProp "is equivalent to (\\a b -> compare a b == GT) for" $ equivalentOnGens2 cmpgt (\a b -> compare a b == GT) gen2 s2+ describe (minmaxtstr "min") $ do+ itProp "is equivalent to (\\a b -> if a <= b then a else b) for" $+ equivalentOnGens2 min (\a b -> if a <= b then a else b) gen2 s2+ describe (minmaxtstr "max") $ do+ itProp "is equivalent to (\\a b -> if a >= b then a else b) for" $+ equivalentOnGens2 max (\a b -> if a >= b then a else b) gen2 s2