public static void performTest(Func <BoardSide, BoardSide, string> setUp)
        {
            ConsoleColor defaults = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            HearthstoneBoard b        = new HearthstoneBoard();
            BoardSide        b1       = new BoardSide();
            BoardSide        b2       = new BoardSide();
            string           testname = setUp(b1, b2);

            Console.WriteLine("Starting test: " + testname + "!--------------------------------------------------");
            Console.ForegroundColor = defaults;
            b.p1Board = b1;
            b.p2Board = b2;
            try
            {
                b.printState();
                Console.ReadLine();
                var res = b.turnByTurnSimulation();

                Console.Clear();
                res.printState();
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Test finished!");
                Console.ForegroundColor = defaults;
                Console.ReadLine();

                b.stockedRandomValues = res.recievedRandomValues;
                foreach (int i in res.recievedRandomValues)
                {
                    Console.WriteLine(i);
                }
                Console.ReadLine();
                var res2 = b.turnByTurnSimulation();
                Console.WriteLine("Test finished!");
                Console.ReadLine();
            }
            catch (ExceptionWithMessageWhyDoesntCSharpHaveItDeafaultComeOne e)
            {
                Console.WriteLine("An error occured when performing test " + testname + ". Message: " + e.message);
                Console.ReadLine();
            }
        }