Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JUnit 4.13.2 Source Code Files
JUnit Source Code Files are provided in the
source package file, junit-4.13.2-sources.jar.
You can browse JUnit Source Code files below:
✍: FYIcenter.com
⏎ org/junit/runner/manipulation/Ordering.java
package org.junit.runner.manipulation;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import org.junit.runner.Description;
import org.junit.runner.OrderWith;
/**
* Reorders tests. An {@code Ordering} can reverse the order of tests, sort the
* order or even shuffle the order.
*
* <p>In general you will not need to use a <code>Ordering</code> directly.
* Instead, use {@link org.junit.runner.Request#orderWith(Ordering)}.
*
* @since 4.13
*/
public abstract class Ordering {
private static final String CONSTRUCTOR_ERROR_FORMAT
= "Ordering class %s should have a public constructor with signature "
+ "%s(Ordering.Context context)";
/**
* Creates an {@link Ordering} that shuffles the items using the given
* {@link Random} instance.
*/
public static Ordering shuffledBy(final Random random) {
return new Ordering() {
@Override
boolean validateOrderingIsCorrect() {
return false;
}
@Override
protected List<Description> orderItems(Collection<Description> descriptions) {
List<Description> shuffled = new ArrayList<Description>(descriptions);
Collections.shuffle(shuffled, random);
return shuffled;
}
};
}
/**
* Creates an {@link Ordering} from the given factory class. The class must have a public no-arg
* constructor.
*
* @param factoryClass class to use to create the ordering
* @param annotatedTestClass test class that is annotated with {@link OrderWith}.
* @throws InvalidOrderingException if the instance could not be created
*/
public static Ordering definedBy(
Class<? extends Ordering.Factory> factoryClass, Description annotatedTestClass)
throws InvalidOrderingException {
if (factoryClass == null) {
throw new NullPointerException("factoryClass cannot be null");
}
if (annotatedTestClass == null) {
throw new NullPointerException("annotatedTestClass cannot be null");
}
Ordering.Factory factory;
try {
Constructor<? extends Ordering.Factory> constructor = factoryClass.getConstructor();
factory = constructor.newInstance();
} catch (NoSuchMethodException e) {
throw new InvalidOrderingException(String.format(
CONSTRUCTOR_ERROR_FORMAT,
getClassName(factoryClass),
factoryClass.getSimpleName()));
} catch (Exception e) {
throw new InvalidOrderingException(
"Could not create ordering for " + annotatedTestClass, e);
}
return definedBy(factory, annotatedTestClass);
}
/**
* Creates an {@link Ordering} from the given factory.
*
* @param factory factory to use to create the ordering
* @param annotatedTestClass test class that is annotated with {@link OrderWith}.
* @throws InvalidOrderingException if the instance could not be created
*/
public static Ordering definedBy(
Ordering.Factory factory, Description annotatedTestClass)
throws InvalidOrderingException {
if (factory == null) {
throw new NullPointerException("factory cannot be null");
}
if (annotatedTestClass == null) {
throw new NullPointerException("annotatedTestClass cannot be null");
}
return factory.create(new Ordering.Context(annotatedTestClass));
}
private static String getClassName(Class<?> clazz) {
String name = clazz.getCanonicalName();
if (name == null) {
return clazz.getName();
}
return name;
}
/**
* Order the tests in <code>target</code> using this ordering.
*
* @throws InvalidOrderingException if ordering does something invalid (like remove or add
* children)
*/
public void apply(Object target) throws InvalidOrderingException {
/*
* Note that some subclasses of Ordering override apply(). The Sorter
* subclass of Ordering overrides apply() to apply the sort (this is
* done because sorting is more efficient than ordering).
*/
if (target instanceof Orderable) {
Orderable orderable = (Orderable) target;
orderable.order(new Orderer(this));
}
}
/**
* Returns {@code true} if this ordering could produce invalid results (i.e.
* if it could add or remove values).
*/
boolean validateOrderingIsCorrect() {
return true;
}
/**
* Implemented by sub-classes to order the descriptions.
*
* @return descriptions in order
*/
protected abstract List<Description> orderItems(Collection<Description> descriptions);
/** Context about the ordering being applied. */
public static class Context {
private final Description description;
/**
* Gets the description for the top-level target being ordered.
*/
public Description getTarget() {
return description;
}
private Context(Description description) {
this.description = description;
}
}
/**
* Factory for creating {@link Ordering} instances.
*
* <p>For a factory to be used with {@code @OrderWith} it needs to have a public no-arg
* constructor.
*/
public interface Factory {
/**
* Creates an Ordering instance using the given context. Implementations
* of this method that do not need to use the context can return the
* same instance every time.
*/
Ordering create(Context context);
}
}
⏎ org/junit/runner/manipulation/Ordering.java
Or download all of them as a single archive file:
File name: junit-4.13.2-sources.jar File size: 234540 bytes Release date: 2021-02-13 Download
⇒ Download and Install junit-4.12.jar
⇐ Download and Install junit-4.13.2.jar
2016-03-28, ≈53🔥, 0💬
Popular Posts:
What Is commons-collections4-4.4 .jar?commons-collections4-4.4 .jaris the JAR file for Apache Common...
Saxon-HE (home edition) is an open source product available under the Mozilla Public License. It pro...
JSP(tm) Standard Tag Library 1.1 implementation - Jakarta Taglibs hosts the Standard Taglib 1.1, an ...
Java Cryptography Extension 1.6 JAR File Size and Download Location: File name: jce.jar, jce-1.6.jar...
maven-core-3.5.4.jar is the JAR file for Apache Maven 3.5.4 Core module. Apache Maven is a software ...