public void SetCellValue_throws_exception_for_row_greater_than_3() { // arrange var board = new Board(); // act var ex = Assert.Throws<ArgumentException>(() => board.SetCellValue(4, 0, 2)); // assert Assert.Equal("Row cannot be greater than 3\r\nParameter name: row", ex.Message); }
public void SetCellValue_throws_exception_for_column_less_than_0() { // arrange var board = new Board(); // act var ex = Assert.Throws<ArgumentException>(() => board.SetCellValue(0, -1, 2)); // assert Assert.Equal("Column cannot be less than 0\r\nParameter name: column", ex.Message); }
public void GetCellValue_returns_the_same_value_provided_to_SetCellValue(int row, int column, int expected) { // arrange var board = new Board(); // act board.SetCellValue(row, column, expected); var actual = board.GetCellValue(row, column); // assert Assert.Equal(expected, actual); }
public void CanMoveInDirection_returns_correct_result(int[,] initial, MoveDirection direction, bool expected) { // arrange var board = new Board(); for (int row = 0; row < 4; row++) { for (int column = 0; column < 4; column++) { board.SetCellValue(row, column, initial[row, column]); } } // act var actual = board.CanMoveInDirection(direction); // assert Assert.Equal(expected, actual); }
public void SetCellValue_throws_exception_for_value_that_is_not_zero_or_a_power_of_2(int value) { // arrange var board = new Board(); // act var ex = Assert.Throws<ArgumentException>(() => board.SetCellValue(0, 3, value)); // assert Assert.Equal("Cell value must be 0 or a power of 2 between 2 and 2048 (inclusive)\r\nParameter name: value", ex.Message); }
public void Move_up_moves_board_correctly(int[,] initial, int[,] expected, bool moved) { // arrange var board = new Board(); for (int row = 0; row < 4; row++) { for (int column = 0; column < 4; column++) { board.SetCellValue(row, column, initial[row, column]); } } // act var movedActual = board.Move(MoveDirection.Up); // assert Assert.Equal(moved, movedActual); for (int row = 0; row < 4; row++) { for (int column = 0; column < 4; column++) { var actualValue = board.GetCellValue(row, column); var expectedValue = expected[row, column]; Assert.Equal(expectedValue, actualValue); } } Assert.Equal(moved, movedActual); }
public void Move_up_merges_cells_correctly(int[,] initial, int rowToTest, int columnToTest, bool expected) { // arrange var board = new Board(); for (int row = 0; row < 4; row++) { for (int column = 0; column < 4; column++) { board.SetCellValue(row, column, initial[row, column]); } } // act board.Move(MoveDirection.Up); // assert Assert.Equal(expected, board.WasCellMerged(rowToTest, columnToTest)); }