示例#1
0
        public void FullSinglerPlayerGame_FailingOnThirdLevel()
        {
            var gameBoard = new GameBoard();
            var player = new Player {Id = 1, Name = "Derik"};

            gameBoard.SetupBoard(new List<Player>{player}, DifficultyLevel.Easy);

            // setup the board for the first move
            var moveList = gameBoard.GetMoveList(player);

            var moveResult = gameBoard.HandleMove(player, moveList.Last());
            Assert.AreEqual(AttemptResult.Valid, moveResult);

            // setup for next move
            moveList = gameBoard.GetMoveList(player);

            moveResult = gameBoard.HandleMove(player, moveList.Last());
            Assert.AreEqual(AttemptResult.Valid, moveResult);

            // setup for next move
            moveList = gameBoard.GetMoveList(player);

            moveResult = gameBoard.HandleMove(player, moveList.Last());
            Assert.AreEqual(AttemptResult.Valid, moveResult);
        }
示例#2
0
        public void HandleMove_WhenMoveValid_WillReturnCorrectResult()
        {
            var player = new Player { Id = 1 };
            var gameBoard = new GameBoard();

            gameBoard.SetupBoard(new List<Player> { player }, DifficultyLevel.Medium);
            var moveList = gameBoard.GetMoveList(player);

            var moveResult = gameBoard.HandleMove(player, moveList.Last());

            Assert.AreEqual(AttemptResult.Valid, moveResult);
        }
示例#3
0
        public void HandleMove_WhenPlayerNotInList_WillThrowExeption()
        {
            var player = new Player {Id = 1};
            var badPlayer = new Player { Id = 2 };
            var gameBoard = new GameBoard();
            gameBoard.SetupBoard(new List<Player>{player}, DifficultyLevel.Medium);

            try
            {
                gameBoard.HandleMove(badPlayer, GameTile.BottomRight);
            }
            catch (Exception e)
            {
                // all good
                return;
            }

            Assert.Fail("Should have had an exception thrown");
        }