PRs are welcome. I only have a few rules:
- Respect the style of the code (e.g. tabs, brace placement). When in doubt,
Alt+Shift+F(VSCode) orCtrl+K D(Vistual Studio) - Code coverage - run coverage tests (described below) and write/update applicable tests
I develop this in VS Code. Any PRs must not include sln files or any other Visual Studio fluff.
Recommended tools:
- .NET Core SDK
- VS Code
- Coverage Gutters extension for VS Code
- Coverlet
To help development in VS Code, some tasks are included:
-
NDice Tests - Runs all tests in the NDice project except for the uniformity tests. Tests basic behavior and coverage.
-
NDice Uniformity Tests - Runs all uniformity tests in NDice project. These are used to test that the dice are sufficiently random over many iterations. They may take a while to complete depending on system resources.
-
Randomizers Tests - Runs all tests in the Ndice.Randomizers project except for uniformity tests.
-
Randomizers Uniformity Tests - Runs all NDice.Randomizers uniformity tests.
-
NDice Coverage - Same as NDice Tests but generates an lcov coverage file. Install the Coverage Gutters VS Code extension and run this task to show coverage.
-
Randomizers Coverage - Same tests as Randomizers Tests but generates an lcov coverage file. Coverage Gutters will get confused if multiple files exist, so only keep the coverage file that is relevant to you.
- Fork the repo
- Do your thing
- Write tests for your thing
- Run tests as explained above
- Create a PR
- Wait for approval/recommendations