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 void should_get_candidates_for_unlocked_cell() { var sudokuBoard = new SudokuBoard(); var position = new Position(0,0); var candidates = new GeneralCandidateRule(sudokuBoard).GetCandidates(position); Assert.Equal(9, candidates.Count); sudokuBoard.Set(new Position(0, 1), 2, false); sudokuBoard.Set(new Position(0, 2), 3, false); sudokuBoard.Set(new Position(0, 3), 4, false); sudokuBoard.Set(new Position(0, 4), 5, false); sudokuBoard.Set(new Position(0, 5), 6, false); sudokuBoard.Set(new Position(0, 6), 7, false); sudokuBoard.Set(new Position(0, 7), 8, false); sudokuBoard.Set(new Position(0, 8), 9, false); candidates = new GeneralCandidateRule(sudokuBoard).GetCandidates(position); Assert.Equal(1, candidates.Count); Assert.Equal(1, candidates.First()); }
public void should_get_empty_candidates_for_locked_cell() { var sudokuBoard = new SudokuBoard(); var position = new Position(0, 0); sudokuBoard.Set(position, 2, true); var candidates = new GeneralCandidateRule(sudokuBoard).GetCandidates(position); Assert.Equal(0, candidates.Count); }
public void should_get_candidates_for_unlocked_cell() { var sudokuBoard = new SudokuBoard(); var position = new Position(0, 0); var candidates = new GeneralCandidateRule(sudokuBoard).GetCandidates(position); Assert.Equal(9, candidates.Count); sudokuBoard.Set(new Position(0, 1), 2, false); sudokuBoard.Set(new Position(0, 2), 3, false); sudokuBoard.Set(new Position(0, 3), 4, false); sudokuBoard.Set(new Position(0, 4), 5, false); sudokuBoard.Set(new Position(0, 5), 6, false); sudokuBoard.Set(new Position(0, 6), 7, false); sudokuBoard.Set(new Position(0, 7), 8, false); sudokuBoard.Set(new Position(0, 8), 9, false); candidates = new GeneralCandidateRule(sudokuBoard).GetCandidates(position); Assert.Equal(1, candidates.Count); Assert.Equal(1, candidates.First()); }
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); }