package org.junit.runner.manipulation;

import java.util.Comparator;

import org.junit.runner.Description;

A Sorter orders tests. In general you will not need to use a Sorter directly. Instead, use Request.sortWith(Comparator<Description>).
Since:4.0
/** * A <code>Sorter</code> orders tests. In general you will not need * to use a <code>Sorter</code> directly. Instead, use {@link org.junit.runner.Request#sortWith(Comparator)}. * * @since 4.0 */
public class Sorter implements Comparator<Description> {
NULL is a Sorter that leaves elements in an undefined order
/** * NULL is a <code>Sorter</code> that leaves elements in an undefined order */
public static final Sorter NULL = new Sorter(new Comparator<Description>() { public int compare(Description o1, Description o2) { return 0; } }); private final Comparator<Description> comparator;
Creates a Sorter that uses comparator to sort tests
Params:
  • comparator – the Comparator to use when sorting tests
/** * Creates a <code>Sorter</code> that uses <code>comparator</code> * to sort tests * * @param comparator the {@link Comparator} to use when sorting tests */
public Sorter(Comparator<Description> comparator) { this.comparator = comparator; }
Sorts the test in runner using comparator
/** * Sorts the test in <code>runner</code> using <code>comparator</code> */
public void apply(Object object) { if (object instanceof Sortable) { Sortable sortable = (Sortable) object; sortable.sort(this); } } public int compare(Description o1, Description o2) { return comparator.compare(o1, o2); } }