    001    package org.junit.runner.manipulation;
    002
    003    /**
    004     * Interface for runners that allow ordering of tests.
    005     *
    006     * <p>Beware of using this interface to cope with order dependencies between tests.
    007     * Tests that are isolated from each other are less expensive to maintain and
    008     * can be run individually.
    009     *
    010     * @since 4.13
    011     */
    012    public interface Orderable extends Sortable {
    013
    014        /**
    015         * Orders the tests using <code>orderer</code>
    016         *
    017         * @throws InvalidOrderingException if orderer does something invalid (like remove or add
    018         * children)
    019         */
    020        void order(Orderer orderer) throws InvalidOrderingException;
    021    }