private static void testSetup() {
        int tests = 0;
        int failed = 0;

        printHeader("Testing Setup");

        // Make sure setup actually works and uses the correct number of rows.
        for (int i = 1; i < 5; i++) {
            try {
                ColumnPuzzle temp = new ColumnPuzzle(i);
                temp.window.setVisible(false);
                temp.window.dispose();

                if (temp.grid.length != i) {
                    sop("FAILED! Setup did not create the correct dimensions" +
                        " for the grid.");
                    failed++;
                }

                temp = null;
            } catch (Exception e) {
                sop("ERROR! Tried to run setup with " + i +  " rows.");
                e.printStackTrace();
                failed++;
            } finally {
                tests++;
            }
        }

        // Make sure colors are in the right order to start.
        try {
            Color[] colorsList = { Color.RED, Color.YELLOW, Color.GREEN,
                    Color.BLUE, Color.CYAN, Color.MAGENTA };
            ColumnPuzzle temp = new ColumnPuzzle(3);
            temp.setup(3);
            temp.window.setVisible(false);
            temp.window.dispose();

            for (int i = 0; i < temp.grid[0].length; i++) {
                if (!temp.grid[0][i].equals(colorsList[i])) {
                    sop("FAILED! Did not insert original colors in the " +
                        "correct order");
                    failed++;
                    break;
                }
            }
        } catch (Exception e) {
            sop("ERROR! Tried to make sure colors were in the correct order.");
            e.printStackTrace();
            failed++;
        } finally {
            tests++;
        }

        // Make sure the last square is blank (i.e. black).
        try {
            ColumnPuzzle temp = new ColumnPuzzle(3);
            temp.setup(3);
            temp.window.setVisible(false);
            temp.window.dispose();

            if (!temp.grid[temp.grid.length-1][5].equals(Color.BLACK)) {
                sop("FAILED! The bottom-right square wasn't black, it was " +
                        temp.grid[temp.grid.length-1][5]);
                failed++;
            }

            temp = null;
        } catch (Exception e) {
            sop("ERROR! Tried to make sure the last square was black.");
            e.printStackTrace();
            failed++;
        } finally {
            tests++;
        }

        printStats(tests, failed);
    }