Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adrianwilker/sudoku-puzzle-solver
A sudoku puzzle solver including checking individual insertions.
https://github.com/adrianwilker/sudoku-puzzle-solver
chai mocha qa quality-assurance sudoku
Last synced: 11 days ago
JSON representation
A sudoku puzzle solver including checking individual insertions.
- Host: GitHub
- URL: https://github.com/adrianwilker/sudoku-puzzle-solver
- Owner: adrianwilker
- Created: 2024-01-24T13:47:37.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-01-24T14:45:35.000Z (12 months ago)
- Last Synced: 2024-11-06T13:56:14.796Z (2 months ago)
- Topics: chai, mocha, qa, quality-assurance, sudoku
- Language: JavaScript
- Homepage: https://sudoku-puzzle-solver.onrender.com
- Size: 167 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sudoku Solver
This project was developed in the freeCodeCamp's Quality Assurance course.
In the development of this project I acquired or perfected some knowledge, such as Chai and Mocha, Chai-HTTP, APIs, Node.js, unit and functional testing, in addition to implementing the sudoku puzzle solving logic.
Deploy: https://sudoku-puzzle-solver.onrender.com
On replit: https://replit.com/@adrianwilker/sudoku-solver
It's tests are listed below:
Unit tests:
- Logic handles a valid puzzle string of 81 characters
- Logic handles a puzzle string with invalid characters (not 1-9 or
.
) - Logic handles a puzzle string that is not 81 characters in length
- Logic handles a valid row placement
- Logic handles an invalid row placement
- Logic handles a valid column placement
- Logic handles an invalid column placement
- Logic handles a valid region (3x3 grid) placement
- Logic handles an invalid region (3x3 grid) placement
- Valid puzzle strings pass the solver
- Invalid puzzle strings fail the solver
- Solver returns the expected solution for an incomplete puzzle
Functional tests:
- Solve a puzzle with valid puzzle string: POST request to
/api/solve
- Solve a puzzle with missing puzzle string: POST request to
/api/solve
- Solve a puzzle with invalid characters: POST request to
/api/solve
- Solve a puzzle with incorrect length: POST request to
/api/solve
- Solve a puzzle that cannot be solved: POST request to
/api/solve
- Check a puzzle placement with all fields: POST request to
/api/check
- Check a puzzle placement with single placement conflict: POST request to
/api/check
- Check a puzzle placement with multiple placement conflicts: POST request to
/api/check
- Check a puzzle placement with all placement conflicts: POST request to
/api/check
- Check a puzzle placement with missing required fields: POST request to
/api/check
- Check a puzzle placement with invalid characters: POST request to
/api/check
- Check a puzzle placement with incorrect length: POST request to
/api/check
- Check a puzzle placement with invalid placement coordinate: POST request to
/api/check
- Check a puzzle placement with invalid placement value: POST request to
/api/check