implement SudokuSolver.validate() method and write unit tests for method
This commit is contained in:
@@ -1,18 +1,27 @@
|
|||||||
class SudokuSolver {
|
class SudokuSolver {
|
||||||
|
|
||||||
validate(puzzleString) {
|
validate(puzzleString) {
|
||||||
|
|
||||||
|
return puzzleString.length == 81 && !puzzleString.match(/[^\.\d]/g);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
checkRowPlacement(puzzleString, row, column, value) {
|
checkRowPlacement(puzzleString, row, column, value) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
checkColPlacement(puzzleString, row, column, value) {
|
checkColPlacement(puzzleString, row, column, value) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
checkRegionPlacement(puzzleString, row, column, value) {
|
checkRegionPlacement(puzzleString, row, column, value) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
solve(puzzleString) {
|
solve(puzzleString) {
|
||||||
|
|||||||
+32
-2
@@ -1,9 +1,39 @@
|
|||||||
const chai = require('chai');
|
const chai = require('chai');
|
||||||
const assert = chai.assert;
|
const assert = chai.assert;
|
||||||
|
|
||||||
const Solver = require('../controllers/sudoku-solver.js');
|
const { puzzlesAndSolutions } = require('../controllers/puzzle-strings');
|
||||||
let solver;
|
const Solver = require('../controllers/sudoku-solver');
|
||||||
|
const solver = new Solver();
|
||||||
|
|
||||||
suite('UnitTests', () => {
|
suite('UnitTests', () => {
|
||||||
|
|
||||||
|
test('SudokuSolver.validate(puzzleString) valid puzzle string of 81 characters', (done) => {
|
||||||
|
|
||||||
|
const input = puzzlesAndSolutions[0][0];
|
||||||
|
|
||||||
|
assert.equal(solver.validate(input), true);
|
||||||
|
done();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
test('SudokuSolver.validate(puzzleString) puzzle string of 81 characters with invalid characters', (done) => {
|
||||||
|
|
||||||
|
const input = puzzlesAndSolutions[0][0].replace(/\./g, '?');
|
||||||
|
|
||||||
|
assert.equal(solver.validate(input), false);
|
||||||
|
done();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
test('SudokuSolver.validate(puzzleString) puzzle string of 82 characters with valid characters', (done) => {
|
||||||
|
|
||||||
|
const input = puzzlesAndSolutions[0][0] + '0';
|
||||||
|
|
||||||
|
assert.equal(solver.validate(input), false);
|
||||||
|
done();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user