Beispiel #1
0
        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]);
        }