    001    package org.junit.runner.manipulation;
    002
    003    /**
    004     * Interface for runners that allow sorting of tests. By sorting tests based on when they last failed, most recently
    005     * failed first, you can reduce the average time to the first test failing. Test sorting should not be used to
    006     * cope with order dependencies between tests. Tests that are isolated from each other are less
    007     * expensive to maintain and can be run individually.
    008     *
    009     * @since 4.0
    010     */
    011    public interface Sortable {
    012
    013        /**
    014         * Sorts the tests using <code>sorter</code>
    015         *
    016         * @param sorter the {@link Sorter} to use for sorting the tests
    017         */
    018        void sort(Sorter sorter);
    019
    020    }