https://github.com/fpclass/mastermind
Skeleton code for the Mastermind project
https://github.com/fpclass/mastermind
exercise haskell haskell-learning teaching-materials
Last synced: 9 days ago
JSON representation
Skeleton code for the Mastermind project
- Host: GitHub
- URL: https://github.com/fpclass/mastermind
- Owner: fpclass
- License: other
- Created: 2018-12-04T17:32:30.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-04-21T09:01:05.000Z (almost 2 years ago)
- Last Synced: 2024-04-21T10:27:26.798Z (almost 2 years ago)
- Topics: exercise, haskell, haskell-learning, teaching-materials
- Language: Haskell
- Homepage:
- Size: 87.9 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mastermind
This repository contains the skeleton code for the "Mastermind" project, which comprises:
- Function stubs for all of the functions that need to be implemented as part of the project. The Mastermind program can be run with `stack run`. In order to complete the project, only `src/Game.hs` needs to be modified.
- A test suite for the project, which can be run with `stack test`. The source code for the test suite can be found in `test/Spec.hs`.
- A benchmark which can be run with `stack bench`. The source for the benchmarks can be found in `bench/Main.hs`.
## Notes on tests
The test suite comprises a combination of unit tests and property-based tests. Unit tests will always perform exactly the same test and test outcomes for them are deterministic. Property-based tests use randomised inputs and, therefore, test outcomes may be non-deterministic. The names of all property-based tests are pre-fixed with `prop_`, which will be shown in the test suite's standard output in the case of a failure. If successful, the test runner will report how many inputs were tried. Some tests may be skipped if the tests for functions they depend on do not yet pass.
## Notes on benchmarks
Running the benchmarks will output results to the standard output in textual form, as well as in visual form to `mastermind.html` which can be opened in your choice of web browser.