public void should_not_break_the_unique_rule()
        {
            var sudokuBoard = new SudokuBoard();
            var position    = new Position(0, 0);

            sudokuBoard.Set(position, 1, false);
            Assert.Equal(1, sudokuBoard.Get(position).Value);

            position = new Position(0, 1);
            sudokuBoard.Set(position, 1, false);
            Assert.NotEqual(1, sudokuBoard.Get(position).Value);
        }
        public void should_set_the_cell_value_for()
        {
            var sudokuBoard = new SudokuBoard();
            var position    = new Position(0, 0);

            sudokuBoard.Set(position, 9, false);
            Assert.Equal(9, sudokuBoard.Get(position).Value);

            position = new Position(8, 8);
            sudokuBoard.Set(position, 1, true);
            Assert.Equal(1, sudokuBoard.Get(position).Value);
            Assert.Equal(true, sudokuBoard.Get(position).Locked);
        }
Exemple #3
0
        public List <int> GetCandidates(Position position)
        {
            var cadidates = new List <int>();

            if (_sudokuBoard.Get(position).Locked)
            {
                return(cadidates);
            }

            var rowCadidates    = GetRowCadidates(position);
            var columnCadidates = GetColumnCadidates(position);
            var squareCadidates = GetSquareCadidates(position);

            var valuesSet = rowCadidates.Union(columnCadidates).Union(squareCadidates).Distinct();

            return(SudokuBoard.Scopes.Except(valuesSet).ToList());
        }
        public void should_set_the_cell_value_for()
        {
            var sudokuBoard = new SudokuBoard();
            var position = new Position(0, 0);
            sudokuBoard.Set(position, 9, false);
            Assert.Equal(9, sudokuBoard.Get(position).Value);

            position = new Position(8, 8);
            sudokuBoard.Set(position, 1, true);
            Assert.Equal(1, sudokuBoard.Get(position).Value);
            Assert.Equal(true, sudokuBoard.Get(position).Locked);
        }
        public void should_not_break_the_unique_rule()
        {
            var sudokuBoard = new SudokuBoard();
            var position = new Position(0, 0);
            sudokuBoard.Set(position, 1, false);
            Assert.Equal(1,sudokuBoard.Get(position).Value);

            position = new Position(0, 1);
            sudokuBoard.Set(position, 1, false);
            Assert.NotEqual(1, sudokuBoard.Get(position).Value);
        }