public void Test_Sudoku_Grid() { Sudoku Sudoku = new Sudoku(); // top left Sudoku[2, 2] = new CellContent(9); int rank = Sudoku[2, 2].Rank; Assert.AreEqual(9, Sudoku[2, 2].Rank); SudokuItem row = Sudoku.GetRowAt(2); Assert.AreEqual(9, row[2].Rank); SudokuItem col = Sudoku.GetColumnAt(2); Assert.AreEqual(9, col[2].Rank); Sudoku3x3 sgrid = Sudoku.GetSudoku3x3AtGridPosition(2, 2); Assert.AreEqual(9, sgrid[2, 2].Rank); // bottom right Sudoku[7, 8] = new CellContent(1); rank = Sudoku[7, 8].Rank; Assert.AreEqual(rank, Sudoku[7, 8].Rank); row = Sudoku.GetRowAt(8); Assert.AreEqual(rank, row[7].Rank); col = Sudoku.GetColumnAt(7); Assert.AreEqual(rank, col[8].Rank); sgrid = Sudoku.GetSudoku3x3AtGridPosition(7, 8); Assert.AreEqual(rank, sgrid[1, 2].Rank); // middle Sudoku[4, 5] = new CellContent(5); rank = Sudoku[4, 5].Rank; Assert.AreEqual(rank, Sudoku[4, 5].Rank); row = Sudoku.GetRowAt(5); Assert.AreEqual(rank, row[4].Rank); col = Sudoku.GetColumnAt(4); Assert.AreEqual(rank, col[5].Rank); sgrid = Sudoku.GetSudoku3x3AtGridPosition(4, 5); Assert.AreEqual(rank, sgrid[1, 2].Rank); // middle bottom Sudoku[5, 7] = new CellContent(2); rank = Sudoku[5, 7].Rank; Assert.AreEqual(rank, Sudoku[5, 7].Rank); row = Sudoku.GetRowAt(7); Assert.AreEqual(rank, row[5].Rank); col = Sudoku.GetColumnAt(5); Assert.AreEqual(rank, col[7].Rank); sgrid = Sudoku.GetSudoku3x3AtGridPosition(5, 7); Assert.AreEqual(rank, sgrid[2, 1].Rank); Assert.IsTrue(Sudoku.Validate()); //Sudoku. }
public void TestDataManipulation() { List <CellContent> contentlist = new List <CellContent> { new CellContent(0), // 0, 0 new CellContent(1), // 1, 0 new CellContent(0), // 2, 0 new CellContent(2), // 0, 1 new CellContent(0), // 1, 1 new CellContent(3), // 2, 1 new CellContent(0), // 0, 2 new CellContent(4), // 1, 2 new CellContent(5), // 2, 2 }; Sudoku3x3 grid = new Sudoku3x3(contentlist); Assert.AreEqual(grid[0, 0], new CellContent(0)); Assert.AreEqual(grid[1, 0], new CellContent(1)); Assert.AreEqual(grid[0, 1], new CellContent(2)); Assert.AreEqual(grid[2, 1], new CellContent(3)); Assert.AreEqual(grid[2, 2], new CellContent(5)); SudokuItem t1 = new SudokuItem(contentlist); SudokuItem t2 = grid.ToSudokuItem(); for (int idx = 0; idx < 9; idx++) { Assert.AreEqual(t1[idx], t2[idx]); } List <CellContent> col = grid.GetColumn(2); Assert.AreEqual(col[0], grid[2, 0]); Assert.AreEqual(col[1], grid[2, 1]); Assert.AreEqual(col[2], grid[2, 2]); List <CellContent> row = grid.GetRow(1); Assert.AreEqual(row[0], grid[0, 1]); Assert.AreEqual(row[1], grid[1, 1]); Assert.AreEqual(row[2], grid[2, 1]); } // TestDataManipulation