public void CreatePlayerWhichBlockOwnAndGetNewCard_IfDropEagle()
        {
            var player = new Runner.DSL.PlayerBuilder()
                         .WithName("Ivan")
                         .Build();
            var boardMap = $@"  +-------------------------------+
                                +InProgress|InTesting |Completed+
                                +-------------------------------+
                                +Ivan      |          |         +
                                +          |          |         +
                                +-------------------------------+";
            var board    = Create.Board.FromMap(boardMap);

            var newBoard = player.Play(CoinSide.Eagle, board);

            AssertBoard.Equals($@"+-------------------------------+
                                  +InProgress|InTesting |Completed+
                                  +-------------------------------+
                                  +Ivan      |          |         +
                                  +Ivan*     |          |         +
                                  +-------------------------------+", newBoard);
        }
        public void CreatePlayerWhichMoveOwnCardFirstly_IfDropTails()
        {
            var player = new Runner.DSL.PlayerBuilder()
                         .WithName("Ivan")
                         .Build();
            var boardMap = $@"  +-------------------------------+
                                +InProgress|InTesting |Completed+
                                +-------------------------------+
                                +Ivan      |          |         +
                                +Ivan*     |          |         +
                                +-------------------------------+";
            var board    = Create.Board.FromMap(boardMap);

            var newBoard = player.Play(CoinSide.Tails, board);

            AssertBoard.Equals($@"+-------------------------------+
                                  +InProgress|InTesting |Completed+
                                  +-------------------------------+
                                  +Ivan*     |Ivan      |         +
                                  +          |          |         +
                                  +-------------------------------+", newBoard);
        }
        public void CreatePlayerWhichUnblockOwnCard_IfDropTailsAndCantGetNewOrMoveOwnCard()
        {
            var player = new Runner.DSL.PlayerBuilder()
                         .WithName("Ivan")
                         .Build();
            var boardMap = $@"  +-------------------------------+
                                +InProgress|InTesting |Completed+
                                +-------------------------------+
                                +Ivan*     |          |         +
                                +          |          |         +
                                #-------------------------------#
                                +Limit:1   |Limit:1   |         +";
            var board    = Create.Board.FromMap(boardMap);

            var newBoard = player.Play(CoinSide.Tails, board);

            AssertBoard.Equals($@"+-------------------------------+
                                  +InProgress|InTesting |Completed+
                                  +-------------------------------+
                                  +Ivan      |          |         +
                                  +          |          |         +
                                  #-------------------------------#
                                  +Limit:1   |Limit:1   |         +", newBoard);
        }