Guest User

Untitled

a guest
Jan 23rd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. import static org.junit.Assert.assertFalse;
  2. import static org.junit.Assert.assertTrue;
  3.  
  4. import java.util.ArrayList;
  5. import java.util.Collections;
  6. import java.util.List;
  7.  
  8. import org.junit.Test;
  9.  
  10. public class SudokuSolverTest {
  11.  
  12. @Test
  13. public void isOneThroughNine_matches() {
  14. List<Integer> baseCase = new ArrayList<>();
  15. for (int i = 1; i < 10; i++) {
  16. baseCase.add(i);
  17. }
  18. assertTrue(SudokuSolver.isOneThroughNine(baseCase));
  19. }
  20.  
  21. @Test
  22. public void isOneThroughNine_unsortedMatches() {
  23. List<Integer> baseCase = new ArrayList<>();
  24. for (int i = 9; i > 0; i--) {
  25. baseCase.add(i);
  26. }
  27. assertTrue(SudokuSolver.isOneThroughNine(baseCase));
  28. }
  29.  
  30. @Test
  31. public void isOneThroughNine_missingFirst() {
  32. List<Integer> baseCase = new ArrayList<>();
  33. for (int i = 1; i < 9; i++) {
  34. baseCase.add(i);
  35. }
  36. assertFalse(SudokuSolver.isOneThroughNine(baseCase));
  37. }
  38.  
  39. @Test
  40. public void isOneThroughNine_missingLast() {
  41. List<Integer> baseCase = new ArrayList<>();
  42. for (int i = 2; i < 10; i++) {
  43. baseCase.add(i);
  44. }
  45. assertFalse(SudokuSolver.isOneThroughNine(baseCase));
  46. }
  47.  
  48. @Test
  49. public void isOneThroughNine_offset() {
  50. List<Integer> baseCase = new ArrayList<>();
  51. for (int i = 2; i < 11; i++) {
  52. baseCase.add(i);
  53. }
  54. assertFalse(SudokuSolver.isOneThroughNine(baseCase));
  55. }
  56.  
  57. @Test
  58. public void isOneThroughNine_tooShort() {
  59. assertFalse(SudokuSolver.isOneThroughNine(Collections.emptyList()));
  60. }
  61.  
  62. @Test
  63. public void isOneThroughNine_tooLong() {
  64. assertFalse(SudokuSolver.isOneThroughNine(Collections.nCopies(1, 1)));
  65. }
  66.  
  67. @Test
  68. public void isValidChoice_valid() {
  69. assertTrue(SudokuSolver.isValidChoice(1, Collections.emptyList()));
  70. assertFalse(SudokuSolver.isValidChoice(1, Collections.singletonList(1)));
  71. assertFalse(SudokuSolver.isValidChoice(0, Collections.emptyList()));
  72. }
  73.  
  74. @Test
  75. public void validSudoku_valid() {
  76. int[][] input = {
  77. {5, 3, 4, 6, 7, 8, 9, 1, 2},
  78. {6, 7, 2, 1, 9, 5, 3, 4, 8},
  79. {1, 9, 8, 3, 4, 2, 5, 6, 7},
  80. {8, 5, 9, 7, 6, 1, 4, 2, 3},
  81. {4, 2, 6, 8, 5, 3, 7, 9, 1},
  82. {7, 1, 3, 9, 2, 4, 8, 5, 6},
  83. {9, 6, 1, 5, 3, 7, 2, 8, 4},
  84. {2, 8, 7, 4, 1, 9, 6, 3, 5},
  85. {3, 4, 5, 2, 8, 6, 1, 7, 9}
  86. };
  87.  
  88. assertTrue(SudokuSolver.validSudoku(input));
  89.  
  90. }
  91.  
  92. @Test
  93. public void validSudoku_invalid() {
  94. int[][] input = {
  95. {1, 3, 4, 6, 7, 8, 9, 1, 2},
  96. {6, 7, 2, 1, 9, 5, 3, 4, 8},
  97. {1, 9, 8, 3, 4, 2, 5, 6, 7},
  98. {8, 5, 9, 7, 6, 1, 4, 2, 3},
  99. {4, 2, 6, 8, 5, 3, 7, 9, 1},
  100. {7, 1, 3, 9, 2, 4, 8, 5, 6},
  101. {9, 6, 1, 5, 3, 7, 2, 8, 4},
  102. {2, 8, 7, 4, 1, 9, 6, 3, 5},
  103. {3, 4, 5, 2, 8, 6, 1, 7, 9}
  104. };
  105.  
  106. assertFalse(SudokuSolver.validSudoku(input));
  107.  
  108. }
  109.  
  110. }
Add Comment
Please, Sign In to add comment