private static void testIsSolved() {
        // In this test, you'll want to create a new 2D Color array and
        // reassign the ColumnPuzzle's array in order to test isSolved().
        // There are two tests here. You should add other test cases.

        int tests = 0;
        int failed = 0;

        printHeader("Testing isSolved");

        Color[][] solved = {
                {Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.CYAN,
                    Color.MAGENTA},
                {Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.CYAN,
                    Color.BLACK}
        };

        Color[][] notSolved = {
                {Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.CYAN,
                    Color.MAGENTA},
                {Color.YELLOW, Color.RED, Color.GREEN, Color.CYAN, Color.BLUE,
                    Color.BLACK}
        };

        ColumnPuzzle temp = new ColumnPuzzle(3);
        temp.window.setVisible(false);
        temp.window.dispose();

        try {
            temp.grid = solved;
            if (!temp.isSolved()) {
                sop("FAILED! Puzzle was solved, but isSolved was false.");
                failed++;
            }
        } catch(Exception e) {
            sop("ERROR!");
            e.printStackTrace();
            failed++;
        } finally {
            tests++;
        }

        try {
            temp.grid = notSolved;
            if (temp.isSolved()) {
                sop("FAILED! isSolved was true with unsolved puzzle.");
                failed++;
            }
        } catch(Exception e) {
            sop("ERROR!");
            e.printStackTrace();
            failed++;
        } finally {
            tests++;
        }

        // Add more test cases here!

        printStats(tests, failed);
    }