public void Move_Left_When_Board_Is_Full_Test() { // ARRANGE int[,] preMove = new int[4, 4] { { 3, 8, 3, 3 }, { 3, 32, 3, 16 }, { 16, 64, 128, 3 }, { 3, 5, 64, 16 } }; int[,] expectedPostMove = new int[4, 4] { { 3, 8, 3, 3 }, { 3, 32, 3, 16 }, { 16, 64, 128, 3 }, { 8, 64, 16, 0 } }; game.Board = preMove; // ACT game.Move(Direction.Left); //ASSERT for (int i = 0; i <= expectedPostMove.GetUpperBound(0); i++) { for (int j = 0; j <= expectedPostMove.GetUpperBound(1); j++) { if (i == game.Board.GetUpperBound(0) && j == game.Board.GetUpperBound(1)) { // New tile should be spawned in bottom right corner Assert.IsTrue(game.SpawnNumbers.Contains(game.Board[i, j])); } else { Assert.AreEqual(expectedPostMove[i, j], game.Board[i, j]); } } } }
public void Move_Right_Test() { // ARRANGE int[,] preMove = new int[4, 4] { { 3, 0, 0, 0 }, { 0, 0, 8, 8 }, { 0, 0, 5, 0 }, { 0, 8, 8, 0 } }; game.Board = preMove; // ACT game.Move(Direction.Right); //ASSERT Assert.AreEqual(3, game.Board[0, 1]); Assert.AreEqual(16, game.Board[1, 3]); Assert.AreEqual(5, game.Board[2, 3]); Assert.AreEqual(8, game.Board[3, 2]); Assert.AreEqual(8, game.Board[3, 3]); }