static int runTestCase(int casenum__) {
        switch (casenum__) {
            case 0: {
                String[] level = {"XXXX....",
                    "...X.XXX",
                    "XXX..X..",
                    "......X.",
                    "XXXXXXXX"};
                int coinRow = 2;
                int coinColumn = 4;
                int expected__ = 2;

                return verifyCase(casenum__, expected__, new ArcadeManao().shortestLadder(level, coinRow, coinColumn));
            }
            case 1: {
                String[] level = {"XXXX",
                    "...X",
                    "XXXX"};
                int coinRow = 1;
                int coinColumn = 1;
                int expected__ = 1;

                return verifyCase(casenum__, expected__, new ArcadeManao().shortestLadder(level, coinRow, coinColumn));
            }
            case 2: {
                String[] level = {"..X..",
                    ".X.X.",
                    "X...X",
                    ".X.X.",
                    "..X..",
                    "XXXXX"};
                int coinRow = 1;
                int coinColumn = 3;
                int expected__ = 4;

                return verifyCase(casenum__, expected__, new ArcadeManao().shortestLadder(level, coinRow, coinColumn));
            }
            case 3: {
                String[] level = {"X"};
                int coinRow = 1;
                int coinColumn = 1;
                int expected__ = 0;

                return verifyCase(casenum__, expected__, new ArcadeManao().shortestLadder(level, coinRow, coinColumn));
            }
            case 4: {
                String[] level = {"XXXXXXXXXX",
                    "...X......",
                    "XXX.......",
                    "X.....XXXX",
                    "..XXXXX..X",
                    ".........X",
                    ".........X",
                    "XXXXXXXXXX"};
                int coinRow = 1;
                int coinColumn = 1;
                int expected__ = 2;

                return verifyCase(casenum__, expected__, new ArcadeManao().shortestLadder(level, coinRow, coinColumn));
            }

            // custom cases

            /*
             * case 5: {
             * String[] level = ;
             * int coinRow = ;
             * int coinColumn = ;
             * int expected__ = ;
             *
             * return verifyCase(casenum__, expected__, new
             * ArcadeManao().shortestLadder(level, coinRow, coinColumn));
             * }
             */
            /*
             * case 6: {
             * String[] level = ;
             * int coinRow = ;
             * int coinColumn = ;
             * int expected__ = ;
             *
             * return verifyCase(casenum__, expected__, new
             * ArcadeManao().shortestLadder(level, coinRow, coinColumn));
             * }
             */
            /*
             * case 7: {
             * String[] level = ;
             * int coinRow = ;
             * int coinColumn = ;
             * int expected__ = ;
             *
             * return verifyCase(casenum__, expected__, new
             * ArcadeManao().shortestLadder(level, coinRow, coinColumn));
             * }
             */
            default:
                return -1;
        }
    }