コード例 #1
0
ファイル: GameTest.cs プロジェクト: Yndal/BDSA-Assignments
        public void NextDayTest2()
        {
            uint gameSize = 10;

            Game gameTest = new Game(gameSize);
            Cell[] cells = new Cell[gameSize * gameSize];

            //Set all the cells to be alive and happy
            for (uint column = 0; column < gameSize; column++)
            {
                for (uint row = 0; row < gameSize; row++)
                {
                    uint index = column * gameSize + row;
                    cells[index].Column = column;
                    cells[index].Row = row;
                    cells[index].Status = 1;
                }
            }
            gameTest.ModifyCell(cells);

            gameTest.NextDay();

            //Now all cells (except those in the 4 corners) will be dead. The last 4 will still be alive
            for (uint column = 0; column < gameSize; column++)
            {
                for (uint row = 0; row < gameSize; row++)
                {
                    if ((column == 0 && row == 0) ||
                        (column == gameSize - 1 && row == 0) ||
                        (column == 0 && row == gameSize - 1) ||
                        (column == gameSize - 1 && row == gameSize - 1))
                    {
                        Assert.AreEqual(gameTest[column, row], 1);
                    }
                    else
                    {
                        Assert.AreEqual(gameTest[column, row], 0);
                    }
                }
            }
        }
コード例 #2
0
ファイル: GameTest.cs プロジェクト: Yndal/BDSA-Assignments
        public void ModifyCellTest()
        {
            // Will check state mofications for every single cell

            uint sizeOfBoard = 10;
            int? zombieCell = null;
            int? deadCell = 0;
            int? livingCell = 1;

            Game gameTest = new Game(sizeOfBoard);

            //Create new cells to insert into the board
            Cell[] cells = new Cell[sizeOfBoard * sizeOfBoard];
            for (uint row = 0; row < sizeOfBoard; row++)
            {
                for (uint column = 0; column < sizeOfBoard; column++)
                {
                    uint index = row * sizeOfBoard + column;

                    cells[index].Column = column;
                    cells[index].Row = row;
                    cells[index].Status = livingCell;
                }
            }

            //Insert the cells
            try
            {
                gameTest.ModifyCell(cells);
            }
            catch (InvalidOperationException ie)
            {
                Assert.Fail();
            }

            //Check the board to only contain living cells
            for (uint a = 0; a < sizeOfBoard; a++)
            {
                for (uint b = 0; b < sizeOfBoard; b++)
                {
                    Assert.AreEqual(gameTest[a,b], livingCell);
                }
            }

            //Modify to a board of pure dead cells
            for (uint row = 0; row < sizeOfBoard; row++)
            {
                for (uint column = 0; column < sizeOfBoard; column++)
                {
                    uint index = row * sizeOfBoard + column;

                    cells[index].Column = column;
                    cells[index].Row = row;
                    cells[index].Status = 0;
                }
            }

            //Insert the new cells
            try
            {
                gameTest.ModifyCell(cells);
            }
            catch (InvalidOperationException ie)
            {
                Assert.Fail();
            }

            ///Check the board to be of dead cells
            for (uint a = 0; a < sizeOfBoard; a++)
            {
                for (uint b = 0; b < sizeOfBoard; b++)
                {
                    Assert.AreEqual(gameTest[a, b], deadCell);
                }
            }

            //Modify to a board of pure zombie cells - Arrrrrg....
            for (uint row = 0; row < sizeOfBoard; row++)
            {
                for (uint column = 0; column < sizeOfBoard; column++)
                {
                    uint index = row * sizeOfBoard + column;

                    cells[index].Column = column;
                    cells[index].Row = row;
                    cells[index].Status = zombieCell;
                }
            }

            //Insert the new cells
            try
            {
                gameTest.ModifyCell(cells);
            }
            catch (InvalidOperationException ie)
            {
                Assert.Fail();
            }

            //Check the board to be of zombie cells only
            for (uint a = 0; a < sizeOfBoard; a++)
            {
                for (uint b = 0; b < sizeOfBoard; b++)
                {
                    Assert.AreEqual(gameTest[a, b], zombieCell);
                }
            }

            //Modify back to be a board of pure living cells (The happy ending!)
            for (uint row = 0; row < sizeOfBoard; row++)
            {
                for (uint column = 0; column < sizeOfBoard; column++)
                {
                    uint index = row * sizeOfBoard + column;

                    cells[index].Column = column;
                    cells[index].Row = row;
                    cells[index].Status = livingCell;
                }
            }

            //Insert the cells
            try
            {
                gameTest.ModifyCell(cells);
            }
            catch (InvalidOperationException ie)
            {
                Assert.Fail();
            }

            //Check the board for living cells only
            for (uint a = 0; a < sizeOfBoard; a++)
            {
                for (uint b = 0; b < sizeOfBoard; b++)
                {
                    Assert.AreEqual(gameTest[a, b], livingCell);
                }
            }
        }
コード例 #3
0
ファイル: GameTest.cs プロジェクト: Yndal/BDSA-Assignments
        public void NextDayTest1()
        {
            uint gameSize = 10;

            Game gameTest = new Game(gameSize);

            Cell[] cells = new Cell[gameSize * gameSize];

            //Make all cells zombies
            for (uint column = 0; column < gameSize; column++)
            {
                for (uint row = 0; row < gameSize; row++)
                {
                    uint index = column * gameSize + row;
                    cells[index].Column = column;
                    cells[index].Row = row;
                    cells[index].Status = null;
                }
            }
            gameTest.ModifyCell(cells);

            gameTest.NextDay();

            //All cells are zombies, so the next day will be with just as many zombies...
            for (uint column = 0; column < gameSize; column++)
            {
                for (uint row = 0; row < gameSize; row++)
                {
                    Assert.AreEqual(gameTest[column,row], null);
                }
            }
        }