carbidecpp20devenv/plugins/org.eclipse.test.source_3.3.0.v20080507/src/org.junit4_4.3.1/junitsrc/org/junit/runner/manipulation/Sorter.java
author cawthron
Wed, 18 Mar 2009 17:21:00 -0500
changeset 1 82d1d1de1a01
permissions -rw-r--r--
import Carbide.c++
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     1
package org.junit.runner.manipulation;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     2
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     3
import java.util.Comparator;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     4
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     5
import org.junit.runner.Description;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     6
import org.junit.runner.Runner;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     7
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     8
/**
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     9
 * A <code>Sorter</code> orders tests. In general you will not need
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    10
 * to use a <code>Sorter</code> directly. Instead, use {@link org.junit.runner.Request#sortWith(Comparator)}.
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    11
 * 
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    12
 * 
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    13
 */
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    14
public class Sorter implements Comparator<Description> {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    15
	private final Comparator<Description> fComparator;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    16
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    17
	/**
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    18
	 * Creates a <code>Sorter</code> that uses <code>comparator</code>
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    19
	 * to sort tests
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    20
	 * @param comparator the {@link Comparator} to use when sorting tests
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    21
	 */
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    22
	public Sorter(Comparator<Description> comparator) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    23
		fComparator= comparator;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    24
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    25
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    26
	/**
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    27
	 * Sorts the test in <code>runner</code> using <code>comparator</code>
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    28
	 * @param runner
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    29
	 */
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    30
	public void apply(Runner runner) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    31
		if (runner instanceof Sortable) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    32
			Sortable sortable = (Sortable) runner;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    33
			sortable.sort(this);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    34
		}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    35
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    36
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    37
	/** @inheritDoc */
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    38
	public int compare(Description o1, Description o2) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    39
		return fComparator.compare(o1, o2);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    40
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    41
}