package org.junit.runners; import java.lang.reflect.Method; import java.util.Comparator; import org.junit.internal.MethodSorter; /** * Sort the methods into a specified execution order. * Defines common {@link MethodSorter} implementations. * * @since 4.11 */ public enum MethodSorters { /** * Sorts the test methods by the method name, in lexicographic order, * with {@link Method#toString()} used as a tiebreaker */ NAME_ASCENDING(MethodSorter.NAME_ASCENDING), /** * Leaves the test methods in the order returned by the JVM. * Note that the order from the JVM may vary from run to run */ JVM(null), /** * Sorts the test methods in a deterministic, but not predictable, order */ DEFAULT(MethodSorter.DEFAULT); private final Comparator<Method> comparator; private MethodSorters(Comparator<Method> comparator) { this.comparator = comparator; } public Comparator<Method> getComparator() { return comparator; } }