Ejemplo n.º 1
0
        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.
        }
Ejemplo n.º 2
0
        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