{"id":16685955,"url":"https://github.com/rudymatela/tasty-leancheck","last_synced_at":"2025-04-10T00:15:14.539Z","repository":{"id":56703156,"uuid":"147435435","full_name":"rudymatela/tasty-leancheck","owner":"rudymatela","description":"LeanCheck support for the Tasty test framework (Haskell)","archived":false,"fork":false,"pushed_at":"2025-01-30T17:15:02.000Z","size":66,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T00:15:07.011Z","etag":null,"topics":["haskell","leancheck","tasty","testing","testing-framework","testing-tools"],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rudymatela.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-05T00:13:04.000Z","updated_at":"2025-01-30T17:15:06.000Z","dependencies_parsed_at":"2025-02-16T03:31:52.859Z","dependency_job_id":"edba1fae-4960-40f0-ac8a-fca496e0dba8","html_url":"https://github.com/rudymatela/tasty-leancheck","commit_stats":{"total_commits":70,"total_committers":1,"mean_commits":70.0,"dds":0.0,"last_synced_commit":"831effac187eb8cd0fdfdf2d7902067462a87655"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudymatela%2Ftasty-leancheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudymatela%2Ftasty-leancheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudymatela%2Ftasty-leancheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudymatela%2Ftasty-leancheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rudymatela","download_url":"https://codeload.github.com/rudymatela/tasty-leancheck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131316,"owners_count":21052819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["haskell","leancheck","tasty","testing","testing-framework","testing-tools"],"created_at":"2024-10-12T15:03:58.753Z","updated_at":"2025-04-10T00:15:14.508Z","avatar_url":"https://github.com/rudymatela.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"tasty-leancheck: LeanCheck support for Tasty\n============================================\n\n[![tasty-leancheck's Build Status][build-status]][build-log]\n[![tasty-leancheck on Hackage][hackage-version]][tasty-leancheck-on-hackage]\n[![tasty-leancheck on Stackage LTS][stackage-lts-badge]][tasty-leancheck-on-stackage-lts]\n[![tasty-leancheck on Stackage Nightly][stackage-nightly-badge]][tasty-leancheck-on-stackage-nightly]\n\n[LeanCheck] support for the [Tasty] test framework.\nTasty and healthy tests.\n\n\nInstalling\n----------\n\n    $ cabal install tasty-leancheck\n\n\nExample\n-------\n\n(This example is intentionally similar to [Tasty's official example].)\n\nHere's how your `test.hs` might look like:\n\n```haskell\nimport Test.Tasty\nimport Test.Tasty.LeanCheck as LC\nimport Data.List\n\nmain :: IO ()\nmain = defaultMain tests\n\ntests :: TestTree\ntests = testGroup \"Test properties checked by LeanCheck\"\n  [ LC.testProperty \"sort == sort . reverse\" $\n      \\list -\u003e sort (list :: [Int]) == sort (reverse list)\n  , LC.testProperty \"Fermat's little theorem\" $\n      \\x -\u003e ((x :: Integer)^7 - x) `mod` 7 == 0\n  -- the following property do not hold\n  , LC.testProperty \"Fermat's last theorem\" $\n      \\x y z n -\u003e\n        (n :: Integer) \u003e= 3 LC.==\u003e x^n + y^n /= (z^n :: Integer)\n  ]\n```\n\nAnd here is the output for the above program:\n\n```\n$ ./test\nTest properties checked by LeanCheck\n  sort == sort . reverse:  OK\n    +++ OK, passed 200 tests.\n  Fermat's little theorem: OK\n    +++ OK, passed 200 tests.\n  Fermat's last theorem:   FAIL\n    *** Failed! Falsifiable (after 71 tests):\n    0 0 0 3\n\n1 out of 3 tests failed (0.00s)\n```\n\n\nOptions\n-------\n\nThe tasty-leancheck provider has only one option, `--leancheck-tests`:\n\n```\n$ ./test --leancheck-tests 10\nTest properties checked by LeanCheck\n  sort == sort . reverse:  OK\n    +++ OK, passed 10 tests.\n  Fermat's little theorem: OK\n    +++ OK, passed 10 tests.\n  Fermat's last theorem:   OK\n    +++ OK, passed 10 tests.\n\nAll 3 tests passed (0.00s)\n```\n\n\nFurther reading\n---------------\n\n* [tasty-leancheck's Haddock documentation];\n* [LeanCheck's Haddock documentation];\n* [Tasty's Haddock documentation];\n* [LeanCheck's README];\n* [Tasty's README];\n* [Tutorial on property-based testing with LeanCheck].\n\n[tasty-leancheck's Haddock documentation]: https://hackage.haskell.org/package/tasty-leancheck/docs/Test-Tasty-LeanCheck.html\n[LeanCheck's Haddock documentation]: https://hackage.haskell.org/package/leancheck/docs/Test-LeanCheck.html\n[Tasty's Haddock documentation]: https://hackage.haskell.org/package/tasty/docs/Test-Tasty.html\n[LeanCheck's README]: https://github.com/rudymatela/leancheck#readme\n[Tasty's README]: https://github.com/feuerbach/tasty#readme\n[tutorial on property-based testing with LeanCheck]: https://github.com/rudymatela/leancheck/blob/master/doc/tutorial.md\n\n[Tasty's official example]: https://github.com/feuerbach/tasty#example\n[Tasty]:     https://github.com/feuerbach/tasty\n[LeanCheck]: https://github.com/rudymatela/leancheck\n\n[build-log]:     https://github.com/rudymatela/tasty-leancheck/actions/workflows/build.yml\n[build-status]:  https://github.com/rudymatela/tasty-leancheck/actions/workflows/build.yml/badge.svg\n[hackage-version]: https://img.shields.io/hackage/v/tasty-leancheck.svg\n[tasty-leancheck-on-hackage]: https://hackage.haskell.org/package/tasty-leancheck\n[stackage-lts-badge]:                  https://stackage.org/package/tasty-leancheck/badge/lts\n[stackage-nightly-badge]:              https://stackage.org/package/tasty-leancheck/badge/nightly\n[tasty-leancheck-on-stackage]:         https://stackage.org/package/tasty-leancheck\n[tasty-leancheck-on-stackage-lts]:     https://stackage.org/lts/package/tasty-leancheck\n[tasty-leancheck-on-stackage-nightly]: https://stackage.org/nightly/package/tasty-leancheck\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frudymatela%2Ftasty-leancheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frudymatela%2Ftasty-leancheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frudymatela%2Ftasty-leancheck/lists"}