1b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotpackage org.junit.runner.manipulation;
2b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot
3b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot/**
4b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * Interface for runners that allow sorting of tests. By sorting tests based on when they last failed, most recently
5b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * failed first, you can reduce the average time to the first test failing. Test sorting should not be used to
6b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * cope with order dependencies between tests. Tests that are isolated from each other are less
7b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * expensive to maintain and can be run individually.
8b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot */
9b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotpublic interface Sortable {
10b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot
11b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	/**
12b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * Sorts the tests using <code>sorter</code>
13b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * @param sorter the {@link Sorter} to use for sorting the tests
14b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 */
15b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	public void sort(Sorter sorter);
16b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot
17b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot}
18