public void NoCompletedLines() { var board = BoardSamples.Board2; var solver = new CrossOutCompletedLine(); var actualChanges = solver.Solve(board); Assert.Empty(actualChanges); }
public void OneHorizontalLineFixed() { var board = BoardSamples.Board2 .ApplyChange(new BoardChange(1, 1, CellState.Filled)); var solver = new CrossOutCompletedLine(); var actualChanges = solver.Solve(board); var expected = new List <BoardChange> { new BoardChange(0, 1, CellState.Blocked), new BoardChange(2, 1, CellState.Blocked) }; Assert.Equal(expected, actualChanges); }
public void BoardWithEmptyLine() { var board = BoardSamples.Board1; var solver = new CrossOutCompletedLine(); var actualChanges = solver.Solve(board); var expected = new List <BoardChange> { new BoardChange(0, 4, CellState.Blocked), new BoardChange(1, 4, CellState.Blocked), new BoardChange(2, 4, CellState.Blocked), new BoardChange(3, 4, CellState.Blocked), new BoardChange(4, 4, CellState.Blocked) }; Assert.Equal(expected, actualChanges); }
public void TwoCrossingLine_NoDuplicates() { var board = BoardSamples.Board2 .ApplyChanges( new BoardChange(0, 2, CellState.Filled), new BoardChange(1, 1, CellState.Filled)); var solver = new CrossOutCompletedLine(); var actualChanges = solver.Solve(board); var expected = new List <BoardChange> { new BoardChange(0, 0, CellState.Blocked), new BoardChange(0, 1, CellState.Blocked), new BoardChange(2, 1, CellState.Blocked) }; Assert.Equal(expected, actualChanges); }