Re: [Haskell-cafe] ANN: leancheck-v0.7.4 with providers for Tasty, Hspec and test-framework

Hello Haskell-Café, A new version of LeanCheck is out: v0.7.4. LeanCheck is a property testing library (like QuickCheck) that tests values enumeratively rather than at random (unlike QuickCheck). _Whats new?_ I have created providers to make it easy to incorporate LeanCheck properties in Tasty, Hspec and test-framework test suites. This is optional and provided in separate packages: LeanCheck can still be used alone. LeanCheck and its framework providers are available on Hackage. You can install them with: $ cabal install leancheck $ cabal install tasty-leancheck $ cabal install hspec-leancheck $ cabal install test-framework-leancheck Check out the README files for examples of use: * https://github.com/rudymatela/leancheck * https://github.com/rudymatela/tasty-leancheck * https://github.com/rudymatela/hspec-leancheck * https://github.com/rudymatela/test-framework-leancheck Here's a sneak peek of LeanCheck+Tasty: ## Test program import Test.Tasty import Test.Tasty.LeanCheck as LC import Data.List main :: IO () main = defaultMain tests tests :: TestTree tests = testGroup "Test properties checked by LeanCheck" [ LC.testProperty "sort == sort . reverse" $ \list -> sort (list :: [Int]) == sort (reverse list) , LC.testProperty "Fermat's little theorem" $ \x -> ((x :: Integer)^7 - x) `mod` 7 == 0 -- the following property do not hold , LC.testProperty "Fermat's last theorem" $ \x y z n -> (n :: Integer) >= 3 LC.==> x^n + y^n /= (z^n :: Integer) ] ## Output for the test program $ ./test Test properties checked by LeanCheck sort == sort . reverse: OK +++ OK, passed 200 tests. Fermat's little theorem: OK +++ OK, passed 200 tests. Fermat's last theorem: FAIL *** Failed! Falsifiable (after 71 tests): 0 0 0 3 1 out of 3 tests failed (0.00s) You can't see it here, but Tasty's output is highlighted in colours: "FAIL" appears in red so you can quickly see which properties failed. Best Regards, Rudy
participants (1)
-
Rudy Matela