@@ -9,65 +9,25 @@ class SudokuSolverTest {
99
1010 @ Test
1111 void testSolveSudokuEasyPuzzle () {
12- int [][] board = {
13- {5 , 3 , 0 , 0 , 7 , 0 , 0 , 0 , 0 },
14- {6 , 0 , 0 , 1 , 9 , 5 , 0 , 0 , 0 },
15- {0 , 9 , 8 , 0 , 0 , 0 , 0 , 6 , 0 },
16- {8 , 0 , 0 , 0 , 6 , 0 , 0 , 0 , 3 },
17- {4 , 0 , 0 , 8 , 0 , 3 , 0 , 0 , 1 },
18- {7 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 6 },
19- {0 , 6 , 0 , 0 , 0 , 0 , 2 , 8 , 0 },
20- {0 , 0 , 0 , 4 , 1 , 9 , 0 , 0 , 5 },
21- {0 , 0 , 0 , 0 , 8 , 0 , 0 , 7 , 9 }
22- };
12+ int [][] board = {{5 , 3 , 0 , 0 , 7 , 0 , 0 , 0 , 0 }, {6 , 0 , 0 , 1 , 9 , 5 , 0 , 0 , 0 }, {0 , 9 , 8 , 0 , 0 , 0 , 0 , 6 , 0 }, {8 , 0 , 0 , 0 , 6 , 0 , 0 , 0 , 3 }, {4 , 0 , 0 , 8 , 0 , 3 , 0 , 0 , 1 }, {7 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 6 }, {0 , 6 , 0 , 0 , 0 , 0 , 2 , 8 , 0 }, {0 , 0 , 0 , 4 , 1 , 9 , 0 , 0 , 5 }, {0 , 0 , 0 , 0 , 8 , 0 , 0 , 7 , 9 }};
2313
2414 assertTrue (SudokuSolver .solveSudoku (board ));
2515
26- int [][] expected = {
27- {5 , 3 , 4 , 6 , 7 , 8 , 9 , 1 , 2 },
28- {6 , 7 , 2 , 1 , 9 , 5 , 3 , 4 , 8 },
29- {1 , 9 , 8 , 3 , 4 , 2 , 5 , 6 , 7 },
30- {8 , 5 , 9 , 7 , 6 , 1 , 4 , 2 , 3 },
31- {4 , 2 , 6 , 8 , 5 , 3 , 7 , 9 , 1 },
32- {7 , 1 , 3 , 9 , 2 , 4 , 8 , 5 , 6 },
33- {9 , 6 , 1 , 5 , 3 , 7 , 2 , 8 , 4 },
34- {2 , 8 , 7 , 4 , 1 , 9 , 6 , 3 , 5 },
35- {3 , 4 , 5 , 2 , 8 , 6 , 1 , 7 , 9 }
36- };
16+ int [][] expected = {{5 , 3 , 4 , 6 , 7 , 8 , 9 , 1 , 2 }, {6 , 7 , 2 , 1 , 9 , 5 , 3 , 4 , 8 }, {1 , 9 , 8 , 3 , 4 , 2 , 5 , 6 , 7 }, {8 , 5 , 9 , 7 , 6 , 1 , 4 , 2 , 3 }, {4 , 2 , 6 , 8 , 5 , 3 , 7 , 9 , 1 }, {7 , 1 , 3 , 9 , 2 , 4 , 8 , 5 , 6 }, {9 , 6 , 1 , 5 , 3 , 7 , 2 , 8 , 4 }, {2 , 8 , 7 , 4 , 1 , 9 , 6 , 3 , 5 }, {3 , 4 , 5 , 2 , 8 , 6 , 1 , 7 , 9 }};
3717
3818 assertArrayEquals (expected , board );
3919 }
4020
4121 @ Test
4222 void testSolveSudokuHardPuzzle () {
43- int [][] board = {
44- {0 , 0 , 0 , 0 , 0 , 0 , 6 , 8 , 0 },
45- {0 , 0 , 0 , 0 , 7 , 3 , 0 , 0 , 9 },
46- {3 , 0 , 9 , 0 , 0 , 0 , 0 , 4 , 5 },
47- {4 , 9 , 0 , 0 , 0 , 0 , 0 , 0 , 0 },
48- {8 , 0 , 3 , 0 , 5 , 0 , 9 , 0 , 2 },
49- {0 , 0 , 0 , 0 , 0 , 0 , 0 , 3 , 6 },
50- {9 , 6 , 0 , 0 , 0 , 0 , 3 , 0 , 8 },
51- {7 , 0 , 0 , 6 , 8 , 0 , 0 , 0 , 0 },
52- {0 , 2 , 8 , 0 , 0 , 0 , 0 , 0 , 0 }
53- };
23+ int [][] board = {{0 , 0 , 0 , 0 , 0 , 0 , 6 , 8 , 0 }, {0 , 0 , 0 , 0 , 7 , 3 , 0 , 0 , 9 }, {3 , 0 , 9 , 0 , 0 , 0 , 0 , 4 , 5 }, {4 , 9 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, {8 , 0 , 3 , 0 , 5 , 0 , 9 , 0 , 2 }, {0 , 0 , 0 , 0 , 0 , 0 , 0 , 3 , 6 }, {9 , 6 , 0 , 0 , 0 , 0 , 3 , 0 , 8 }, {7 , 0 , 0 , 6 , 8 , 0 , 0 , 0 , 0 }, {0 , 2 , 8 , 0 , 0 , 0 , 0 , 0 , 0 }};
5424
5525 assertTrue (SudokuSolver .solveSudoku (board ));
5626 }
5727
5828 @ Test
5929 void testSolveSudokuAlreadySolved () {
60- int [][] board = {
61- {5 , 3 , 4 , 6 , 7 , 8 , 9 , 1 , 2 },
62- {6 , 7 , 2 , 1 , 9 , 5 , 3 , 4 , 8 },
63- {1 , 9 , 8 , 3 , 4 , 2 , 5 , 6 , 7 },
64- {8 , 5 , 9 , 7 , 6 , 1 , 4 , 2 , 3 },
65- {4 , 2 , 6 , 8 , 5 , 3 , 7 , 9 , 1 },
66- {7 , 1 , 3 , 9 , 2 , 4 , 8 , 5 , 6 },
67- {9 , 6 , 1 , 5 , 3 , 7 , 2 , 8 , 4 },
68- {2 , 8 , 7 , 4 , 1 , 9 , 6 , 3 , 5 },
69- {3 , 4 , 5 , 2 , 8 , 6 , 1 , 7 , 9 }
70- };
30+ int [][] board = {{5 , 3 , 4 , 6 , 7 , 8 , 9 , 1 , 2 }, {6 , 7 , 2 , 1 , 9 , 5 , 3 , 4 , 8 }, {1 , 9 , 8 , 3 , 4 , 2 , 5 , 6 , 7 }, {8 , 5 , 9 , 7 , 6 , 1 , 4 , 2 , 3 }, {4 , 2 , 6 , 8 , 5 , 3 , 7 , 9 , 1 }, {7 , 1 , 3 , 9 , 2 , 4 , 8 , 5 , 6 }, {9 , 6 , 1 , 5 , 3 , 7 , 2 , 8 , 4 }, {2 , 8 , 7 , 4 , 1 , 9 , 6 , 3 , 5 }, {3 , 4 , 5 , 2 , 8 , 6 , 1 , 7 , 9 }};
7131
7232 assertTrue (SudokuSolver .solveSudoku (board ));
7333 }
@@ -99,27 +59,14 @@ void testSolveInitiallyInvalidBoard() {
9959
10060 @ Test
10161 void testSolveSudokuUnsolvablePuzzle () {
102- int [][] board = {
103- {5 , 1 , 6 , 8 , 4 , 9 , 7 , 3 , 2 },
104- {3 , 0 , 7 , 6 , 0 , 5 , 0 , 0 , 0 },
105- {8 , 0 , 9 , 1 , 0 , 0 , 0 , 6 , 0 },
106- {1 , 3 , 0 , 4 , 0 , 7 , 0 , 0 , 0 },
107- {0 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 0 },
108- {0 , 0 , 0 , 9 , 0 , 3 , 0 , 1 , 7 },
109- {0 , 6 , 0 , 0 , 0 , 1 , 9 , 0 , 3 },
110- {0 , 0 , 0 , 3 , 0 , 8 , 5 , 0 , 1 },
111- {0 , 0 , 0 , 5 , 0 , 0 , 4 , 7 , 0 }
112- };
62+ int [][] board = {{5 , 1 , 6 , 8 , 4 , 9 , 7 , 3 , 2 }, {3 , 0 , 7 , 6 , 0 , 5 , 0 , 0 , 0 }, {8 , 0 , 9 , 1 , 0 , 0 , 0 , 6 , 0 }, {1 , 3 , 0 , 4 , 0 , 7 , 0 , 0 , 0 }, {0 , 0 , 2 , 0 , 1 , 0 , 3 , 0 , 0 }, {0 , 0 , 0 , 9 , 0 , 3 , 0 , 1 , 7 }, {0 , 6 , 0 , 0 , 0 , 1 , 9 , 0 , 3 }, {0 , 0 , 0 , 3 , 0 , 8 , 5 , 0 , 1 }, {0 , 0 , 0 , 5 , 0 , 0 , 4 , 7 , 0 }};
11363 board [1 ][1 ] = 5 ;
11464 assertFalse (SudokuSolver .solveSudoku (board ));
11565 }
11666
11767 @ Test
11868 void testIrregularBoardRowLength () {
119- int [][] irregularBoard = {
120- {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 },
121- {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
122- };
69+ int [][] irregularBoard = {{0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }};
12370
12471 assertFalse (SudokuSolver .solveSudoku (irregularBoard ));
12572 }
0 commit comments