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); }
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); }