import org.junit.Test; import java.util.Arrays; import java.util.List; import static org.junit.Assert.assertEquals; public class SudokuCheckerTest { private boolean expected; private List<List<Integer>> board; @Test public void isValidSudoku1() { expected = true; board = Arrays.asList( Arrays.asList(5,3,0,0,7,0,0,0,0), Arrays.asList(6,0,0,1,9,5,0,0,0), Arrays.asList(0,9,8,0,0,0,0,6,0), Arrays.asList(8,0,0,0,6,0,0,0,3), Arrays.asList(4,0,0,8,0,3,0,0,1), Arrays.asList(7,0,0,0,2,0,0,0,6), Arrays.asList(0,6,0,0,0,0,2,8,0), Arrays.asList(0,0,0,4,1,9,0,0,5), Arrays.asList(0,0,0,0,8,0,0,7,9) ); test(expected, board); } @Test public void isValidSudoku2() { expected = false; board = Arrays.asList( Arrays.asList(5,3,0,0,7,0,0,0,0), Arrays.asList(6,0,0,1,9,5,0,0,0), Arrays.asList(0,9,8,0,0,0,0,6,0), Arrays.asList(8,0,0,0,6,0,0,0,3), Arrays.asList(6,0,0,8,0,3,0,0,1), Arrays.asList(7,0,0,0,2,0,0,0,6), Arrays.asList(0,6,0,0,0,0,2,8,0), Arrays.asList(0,0,0,4,1,9,0,0,5), Arrays.asList(0,0,0,0,8,0,0,7,9) ); test(expected, board); } @Test public void isValidSudoku3() { expected = false; board = Arrays.asList( Arrays.asList(5,3,0,0,7,0,0,0,0), Arrays.asList(0,0,0,1,9,5,0,0,0), Arrays.asList(0,9,8,0,0,0,0,6,0), Arrays.asList(8,0,0,0,6,0,0,0,3), Arrays.asList(4,0,0,8,0,3,0,0,1), Arrays.asList(7,0,0,0,2,0,0,0,6), Arrays.asList(0,6,0,0,0,0,2,8,0), Arrays.asList(6,0,0,4,1,9,0,0,5), Arrays.asList(0,0,0,0,8,0,0,7,9) ); test(expected, board); } @Test public void isValidSudoku4() { expected = false; board = Arrays.asList( Arrays.asList(5,3,0,0,7,0,0,0,0), Arrays.asList(6,0,0,1,9,6,0,0,0), Arrays.asList(0,9,8,0,0,0,0,6,0), Arrays.asList(8,0,0,0,6,0,0,0,3), Arrays.asList(4,0,0,8,0,3,0,0,1), Arrays.asList(7,0,0,0,2,0,0,0,6), Arrays.asList(0,6,0,0,0,0,2,8,0), Arrays.asList(0,0,0,4,1,9,0,0,5), Arrays.asList(0,0,0,0,8,0,0,7,9) ); test(expected, board); } private void test(boolean expected, List<List<Integer>> board) { assertEquals(expected,SudokuChecker.isValidSudoku(board)); } }