コード例 #1
0
        public void TestSimpleSolver_RowValues()
        {
            // arrange
            var testcase = GetTestCase1();

            // Action
            var simpleSudokuSolver = new SimpleSudokuSolver();
            var result             = simpleSudokuSolver.GetAllValuesFromRow(testcase, 2);

            // Assert
            Assert.IsTrue(result.Contains(1));
            Assert.IsTrue(result.Contains(7));
        }
コード例 #2
0
        public void TestSimpleSolver_SectorValues()
        {
            // arrange
            var testcase = GetTestCase1();

            // Action
            var simpleSudokuSolver = new SimpleSudokuSolver();
            var result             = simpleSudokuSolver.GetAllValuesFromSector(testcase, 2, 3);

            // Assert
            Assert.IsTrue(result.Contains(5));
            Assert.IsTrue(result.Contains(6));
            Assert.IsTrue(result.Contains(8));
        }
コード例 #3
0
        public void TestSimpleSolver_TestCase2()
        {
            // arrange
            var testcase = GetTestCase2();

            // Action
            var simpleSudokuSolver = new SimpleSudokuSolver();
            var result             = simpleSudokuSolver.SolveByElimination(testcase);

            // Assert
            Assert.IsNotNull(result.SudokuBoard);
            Assert.IsNotEmpty(result.ToString());
            Assert.AreEqual(0, result.NumberOfEmptyCells);
        }
コード例 #4
0
        public void TestSimpleSolver_DeterminingInvalidValuesInRestOfSector()
        {
            // arrange
            var testcase = GetTestCase1();

            // Action
            var simpleSudokuSolver = new SimpleSudokuSolver();
            var result             = simpleSudokuSolver.GetAllInvalidValuesFromRestOfSector(testcase, 2, 3);

            // Assert
            Assert.AreEqual(4, result.Count);
            Assert.IsTrue(result.Contains(5));
            Assert.IsTrue(result.Contains(6));
            Assert.IsTrue(result.Contains(8));
            Assert.IsTrue(result.Contains(9));
        }
コード例 #5
0
        public void TestSimpleSolver_DeterminingSector()
        {
            // arrange
            var testcase = GetTestCase1();

            // Action
            var simpleSudokuSolver = new SimpleSudokuSolver();

            // Assert
            Assert.AreEqual(0, simpleSudokuSolver.GetSector(0));
            Assert.AreEqual(0, simpleSudokuSolver.GetSector(1));
            Assert.AreEqual(0, simpleSudokuSolver.GetSector(2));
            Assert.AreEqual(1, simpleSudokuSolver.GetSector(3));
            Assert.AreEqual(1, simpleSudokuSolver.GetSector(4));
            Assert.AreEqual(1, simpleSudokuSolver.GetSector(5));
            Assert.AreEqual(2, simpleSudokuSolver.GetSector(6));
            Assert.AreEqual(2, simpleSudokuSolver.GetSector(7));
            Assert.AreEqual(2, simpleSudokuSolver.GetSector(8));
        }