public void CheckContainsDuplicateMethod() { int[] x1 = { 1, 2, 3, 4 }; List <int> list1 = new List <int>(x1); int[] x2 = { 1, 1, 2, 3 }; List <int> list2 = new List <int>(x2); int[] x3 = { 1, 5, 2, 3, 9, 8, 4, 7, 6 }; List <int> list3 = new List <int>(x3); int[] x4 = { 1, 5, 6, 3, 9, 8, 4, 7, 6 }; List <int> list4 = new List <int>(x4); SudokuLogic.SudokuSolver sudokuSolver = new SudokuSolver(); Assert.IsFalse(sudokuSolver.ContainsDuplicate(list1), "1 wrong"); Assert.IsTrue(sudokuSolver.ContainsDuplicate(list2), "2 wrong"); Assert.IsFalse(sudokuSolver.ContainsDuplicate(list3), "3 wrong"); Assert.IsTrue(sudokuSolver.ContainsDuplicate(list4), "4 wrong "); }
public bool IsSolved() { SudokuSolver sudokuSolver = new SudokuSolver(); //checks each box is solved for (int row = 0; row < 9; row++) { for (int column = 0; column < 9; column++) { //if unsolved, return false if (!this[row, column].getSolved()) { return(false); } } } //two for loops to go through each row, check no duplicates for (int row = 0; row < 9; row++) { var myList = new List <int>(); int numTotal = 0; for (int column = 0; column < 9; column++) { myList.Add(this[row, column].getVal()); } if (sudokuSolver.ContainsDuplicate(myList)) { return(false); } } //if(printChecks) System.out.println("Rows add up"); //two for loops to go through each column, check no duplicates for (int column = 0; column < 9; column++) { var myList = new List <int>(); int numTotal = 0; for (int row = 0; row < 9; row++) { myList.Add(this[row, column].getVal()); } if (sudokuSolver.ContainsDuplicate(myList)) { return(false); } } //if(printChecks) System.out.println("Columns add up"); //check each box, check no duplicates //for each box row for (int boxRow = 0; boxRow < 3; boxRow++) { //for each box column for (int boxColumn = 0; boxColumn < 3; boxColumn++) { var myList = new List <int>(); int numTotal = 0; //for each row in the small box for (int row2 = boxRow * 3; row2 < boxRow * 3 + 3; row2++) { //for each column in the small box for (int column2 = boxColumn * 3; column2 < boxColumn * 3 + 3; column2++) { myList.Add(this[row2, column2].getVal()); } } if (sudokuSolver.ContainsDuplicate(myList)) { return(false); } } } //if(printChecks) System.out.println("Boxes add up"); return(true); }