https://github.com/joanstinson/tictactoetdd
Tic Tac Toe implementation using TDD and made all tests run on every new pull request using Unity Actions.
https://github.com/joanstinson/tictactoetdd
chain-of-responsibility-pattern ci code-coverage csharp mvp-architecture tdd-kata tic-tac-toe-game unit-tests unity-actions unity-game unity3d
Last synced: 3 months ago
JSON representation
Tic Tac Toe implementation using TDD and made all tests run on every new pull request using Unity Actions.
- Host: GitHub
- URL: https://github.com/joanstinson/tictactoetdd
- Owner: JoanStinson
- License: mit
- Created: 2022-09-25T18:55:05.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-27T10:32:13.000Z (almost 3 years ago)
- Last Synced: 2024-11-20T04:18:16.837Z (7 months ago)
- Topics: chain-of-responsibility-pattern, ci, code-coverage, csharp, mvp-architecture, tdd-kata, tic-tac-toe-game, unit-tests, unity-actions, unity-game, unity3d
- Language: C#
- Homepage:
- Size: 44 MB
- Stars: 10
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tic Tac Toe TDD
Tic Tac Toe implementation using TDD and made all tests run on every new pull request using [Unity Actions](https://github.com/game-ci/unity-actions).
![]()
## 📜 Kata Rules
* A game has nine fields in a 3x3 grid.
* There are two players in the game (X and O).
* A player can take a field if not already taken.
* Players take turns taking fields until the game is over.
* A game is over when all fields in a row are taken by a player.
* A game is over when all fields in a column are taken by a player.
* A game is over when all fields in a diagonal are taken by a player.
* A game is over when all fields are taken.## 🧩 Continuous Integration
I have created a continuous integration workflow via [GitHub Actions](https://github.com/features/actions), more specifically via [Unity Actions](https://github.com/game-ci/unity-actions). On every new pull request or push to `main`, all edit and playmode tests run as well as building on target platforms and deploying a WebGL build to GitHub pages. In order to merge a pull request to `main`, the branch must be up to date and all tests and builds must pass.
![]()
## 🔍 Code Analysis
I have used the [Unity Code Coverage](https://docs.unity3d.com/Packages/[email protected]/manual/index.html) package to generate reports of both edit and play mode tests. Tests help your project fix and prevent unexpected bugs, making sure all functionality works as intended. Therefore, tests help keep your project healthy, just as eating fruits and vegetables and exercising. The more coverage, the more healthy! 💪
![]()