Skip to content

Joannaj00/ExplodingKittens

Repository files navigation

Gradle Build

Exploding Kittens

Contributors

  • Elaine Cui
  • Kathy Cui
  • Joanna Jung
  • Eric Lee
  • Issac Sun

Project Finished 6/12

What we have completed:

  • i18n: We have two languages available, English and Korean. Can also easily support other locales.
  • Code Coverage: We have 100% code coverage on models and controllers.
  • Mutation Testing: We have 100% mutation testing passing, not including mutations on UI classes.
  • BVA: We follow BVA standards and coding for all test classes.
  • TDD: We follow TDD standards as seen in the commit history.
  • Clean Code: Our code follows clean code standards.
  • Integration Testing: We have 2 features that we have integration testing on.
  • CI Integration: Fully set up from the beginning.
  • Weekly Reports: Completed with pull requests and approvers for all weeks.
  • Project Board: Implemented and utilized with descriptions for each task.
  • 2 Win Conditions: Default win conditions of the game and 3 diffuse cards mean automatic win as well.
  • Cards: Created 5 custom cards as well as implemented all other cards as well.
  • Game Logic: All game logic is implemented including combos, special cards, and win conditions.
  • Branch Protection: They are fully set up so that people cannot push into main without a pull request approval.

Mutation Testing:

  • There are 3 Mutants in TurnManager.java that are not killed but this is because it is removing method calls that are just purely prompts for UI. This means that nothing of the state in TurnManager is changed. As a result, these mutants will not be killed.
  • Main.java also has 1 Mutant not killed but that is because it is just calling the GameState, not changing the state itself.
  • GameState.java has 3 Mutants that are not killed because they are the same actually. It is once again prompting for UI language. As a result, the actual GameState does not changing, making the mutant survive.

Code Coverage:

  • We have 100% code coverage on all of our code.
  • Some notes:
  • Main.java does not cover one line, but we did not consider Main.java as part of the project to code coverage.
  • We also considered LanguageConfig.java as a UI class, so we did not stress code coverage on this section as well.

Dependencies

  • JDK 11
  • JUnit 5.10
  • Gradle 8.10

Acknowledgements

REFERENCES, SOURCE OF HELP ETC

About

Java implementation of Exploding Kittens with MVC architecture, i18n support, 100% test coverage, mutation testing, and full CI/CD workflow.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages