packages feed

prop-unit 0.2.0 → 1.0.0

raw patch · 6 files changed

+60/−34 lines, 6 filesdep −tasty-hunitdep ~tasty

Dependencies removed: tasty-hunit

Dependency ranges changed: tasty

Files

prop-unit.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           prop-unit-version:        0.2.0+version:        1.0.0 synopsis:       Conveniences for using Hedgehog as a unit test runner description:    Please see the README on GitHub at <https://github.com/ejconlon/prop-unit#readme> category:       Testing@@ -27,6 +27,9 @@ library   exposed-modules:       PropUnit+      PropUnit.Hedgehog+      PropUnit.Hedgehog.Gen+      PropUnit.Hedgehog.Range   other-modules:       Paths_prop_unit   hs-source-dirs:@@ -104,7 +107,6 @@     , containers     , hedgehog >=1.4 && <1.6     , prop-unit-    , tasty+    , tasty >=1.4 && <1.6     , tasty-hedgehog ==1.4.*-    , tasty-hunit   default-language: Haskell2010
src/PropUnit.hs view
@@ -29,7 +29,7 @@   , genDefaultList   , genDefaultString   , genDefaultGeneric-  , Std+  , StdTag   ) where @@ -51,9 +51,11 @@   , ShrinkLimit   , ShrinkRetries   , TestLimit+  , TestT   , assert   , forAll   , property+  , test   , withDiscards   , withRetries   , withShrinks@@ -68,15 +70,16 @@ import Test.Tasty (DependencyType (..), TestName, TestTree, after, defaultMain, testGroup, withResource) import Test.Tasty.Hedgehog (testProperty) -unitProperty :: PropertyT IO () -> Property+unitProperty :: TestT IO () -> Property unitProperty =   withTests (1 :: TestLimit)     . withDiscards (1 :: DiscardLimit)     . withShrinks (0 :: ShrinkLimit)     . withRetries (0 :: ShrinkRetries)     . property+    . test -testUnit :: TestName -> PropertyT IO () -> TestTree+testUnit :: TestName -> TestT IO () -> TestTree testUnit name = testProperty name . unitProperty  testProp :: TestName -> TestLimit -> PropertyT IO () -> TestTree@@ -199,49 +202,50 @@ genDefaultGeneric _ = fmap (unViaGeneric @tag @a) (genDefault (Proxy @tag))  -- | Type tag for these "standard" default generators.--- You can use this tag directly or choose type-by-type with 'ViaTag'.-data Std+-- You can use this tag directly or choose type-by-type with 'genDefaultTag'.+data StdTag -instance GenDefault Std () where genDefault = genDefaultEnum+instance GenDefault StdTag () where genDefault = genDefaultEnum -instance GenDefault Std Bool where genDefault = genDefaultEnum+instance GenDefault StdTag Bool where genDefault = genDefaultEnum -instance GenDefault Std Char where genDefault = genDefaultEnum+instance GenDefault StdTag Char where genDefault = genDefaultEnum -instance GenDefault Std Int where genDefault = genDefaultIntegral+instance GenDefault StdTag Int where genDefault = genDefaultIntegral -instance GenDefault Std Int8 where genDefault = genDefaultIntegral+instance GenDefault StdTag Int8 where genDefault = genDefaultIntegral -instance GenDefault Std Int16 where genDefault = genDefaultIntegral+instance GenDefault StdTag Int16 where genDefault = genDefaultIntegral -instance GenDefault Std Int32 where genDefault = genDefaultIntegral+instance GenDefault StdTag Int32 where genDefault = genDefaultIntegral -instance GenDefault Std Int64 where genDefault = genDefaultIntegral+instance GenDefault StdTag Int64 where genDefault = genDefaultIntegral -instance GenDefault Std Word where genDefault = genDefaultIntegral+instance GenDefault StdTag Word where genDefault = genDefaultIntegral -instance GenDefault Std Word8 where genDefault = genDefaultIntegral+instance GenDefault StdTag Word8 where genDefault = genDefaultIntegral -instance GenDefault Std Word16 where genDefault = genDefaultIntegral+instance GenDefault StdTag Word16 where genDefault = genDefaultIntegral -instance GenDefault Std Word32 where genDefault = genDefaultIntegral+instance GenDefault StdTag Word32 where genDefault = genDefaultIntegral -instance GenDefault Std Word64 where genDefault = genDefaultIntegral+instance GenDefault StdTag Word64 where genDefault = genDefaultIntegral -instance (GenDefault Std a) => GenDefault Std (Maybe a) where genDefault = genDefaultGeneric+instance (GenDefault StdTag a) => GenDefault StdTag (Maybe a) where genDefault = genDefaultGeneric -instance (GenDefault Std a, GenDefault Std b) => GenDefault Std (Either a b) where genDefault = genDefaultGeneric+instance (GenDefault StdTag a, GenDefault StdTag b) => GenDefault StdTag (Either a b) where+  genDefault = genDefaultGeneric -instance (GenDefault Std a, GenDefault Std b) => GenDefault Std (a, b) where genDefault = genDefaultGeneric+instance (GenDefault StdTag a, GenDefault StdTag b) => GenDefault StdTag (a, b) where genDefault = genDefaultGeneric -instance (GenDefault Std a, GenDefault Std b, GenDefault Std c) => GenDefault Std (a, b, c) where+instance (GenDefault StdTag a, GenDefault StdTag b, GenDefault StdTag c) => GenDefault StdTag (a, b, c) where   genDefault = genDefaultGeneric -instance (GenDefault Std a, GenDefault Std b, GenDefault Std c, GenDefault Std d) => GenDefault Std (a, b, c, d) where+instance (GenDefault StdTag a, GenDefault StdTag b, GenDefault StdTag c, GenDefault StdTag d) => GenDefault StdTag (a, b, c, d) where   genDefault = genDefaultGeneric  instance-  (GenDefault Std a, GenDefault Std b, GenDefault Std c, GenDefault Std d, GenDefault Std e)-  => GenDefault Std (a, b, c, d, e)+  (GenDefault StdTag a, GenDefault StdTag b, GenDefault StdTag c, GenDefault StdTag d, GenDefault StdTag e)+  => GenDefault StdTag (a, b, c, d, e)   where   genDefault = genDefaultGeneric
+ src/PropUnit/Hedgehog.hs view
@@ -0,0 +1,7 @@+-- | Full re-export of Hedgehog+module PropUnit.Hedgehog+  ( module Hedgehog+  )+where++import Hedgehog
+ src/PropUnit/Hedgehog/Gen.hs view
@@ -0,0 +1,6 @@+module PropUnit.Hedgehog.Gen+  ( module Hedgehog.Gen+  )+where++import Hedgehog.Gen
+ src/PropUnit/Hedgehog/Range.hs view
@@ -0,0 +1,7 @@+-- | Full re-export of Hedgehog.Range+module PropUnit.Hedgehog.Range+  ( module Hedgehog.Range+  )+where++import Hedgehog.Range
test/Main.hs view
@@ -8,12 +8,9 @@ import qualified Data.Set as Set import GHC.Exts (IsList, IsString) import GHC.Generics (Generic)-import Hedgehog (Gen)-import qualified Hedgehog.Gen as Gen-import qualified Hedgehog.Range as Range import PropUnit   ( GenDefault (..)-  , Std+  , StdTag   , TestLimit   , TestTree   , assert@@ -29,6 +26,9 @@   , testUnit   , (===)   )+import PropUnit.Hedgehog (Gen)+import qualified PropUnit.Hedgehog.Gen as Gen+import qualified PropUnit.Hedgehog.Range as Range  testAsUnit :: TestTree testAsUnit = testUnit "as unit" $ do@@ -51,9 +51,9 @@  data Tag -instance GenDefault Tag Int where genDefault = genDefaultTag (Proxy @Std)+instance GenDefault Tag Int where genDefault = genDefaultTag (Proxy @StdTag) -instance GenDefault Tag Char where genDefault = genDefaultTag (Proxy @Std)+instance GenDefault Tag Char where genDefault = genDefaultTag (Proxy @StdTag)  newtype AList a = AList [a]   deriving newtype (Eq, Ord, Show, IsList)