Пример #1
0
        public void AvailableValuesInGridTest()
        {
            Sudoku sudoku = new Sudoku(testPuzzle);
            var expectedValues = new List<int>() { 1, 5, 6, 7, 8 };

            var vals = sudoku.AvailableValuesInGrid(8);
            Assert.AreEqual(vals.Count, 5);
            foreach (var val in vals)
            {
                Assert.IsTrue(expectedValues.Contains(val));
            }
        }
Пример #2
0
        public void SetBlockTest()
        {
            int[,] setBlockTestPuzzle = { { 1, 2, 0, 4 },
                                          { 3, 4, 0, 2 },
                                          { 2, 3, 0, 1 },
                                          { 4, 1, 0, 3 } };
            Sudoku sudoku = new Sudoku(setBlockTestPuzzle);

            sudoku.SetBlock(0, 2, 3);
            Assert.AreEqual(sudoku.AvailableValuesInRow(0).Count, 0);
            Assert.AreEqual(sudoku.AvailableValuesInColumn(2).Count, 3);
            Assert.AreEqual(sudoku.AvailableValuesInGrid(1).Count, 1);

            sudoku.SetBlock(1, 2, 1);
            Assert.AreEqual(sudoku.AvailableValuesInRow(1).Count, 0);
            Assert.AreEqual(sudoku.AvailableValuesInColumn(2).Count, 2);
            Assert.AreEqual(sudoku.AvailableValuesInGrid(1).Count, 0);

            sudoku.SetBlock(2, 2, 4);
            Assert.AreEqual(sudoku.AvailableValuesInRow(2).Count, 0);
            Assert.AreEqual(sudoku.AvailableValuesInColumn(2).Count, 0);
            Assert.AreEqual(sudoku.AvailableValuesInGrid(3).Count, 0);

            Assert.IsTrue(sudoku.Solved);
        }