| package org.junit.internal.requests; |
| |
| import org.junit.internal.runners.ErrorReportingRunner; |
| import org.junit.runner.Request; |
| import org.junit.runner.Runner; |
| import org.junit.runner.manipulation.InvalidOrderingException; |
| import org.junit.runner.manipulation.Ordering; |
| |
| /** @since 4.13 */ |
| public class OrderingRequest extends MemoizingRequest { |
| private final Request request; |
| private final Ordering ordering; |
| |
| public OrderingRequest(Request request, Ordering ordering) { |
| this.request = request; |
| this.ordering = ordering; |
| } |
| |
| @Override |
| protected Runner createRunner() { |
| Runner runner = request.getRunner(); |
| try { |
| ordering.apply(runner); |
| } catch (InvalidOrderingException e) { |
| return new ErrorReportingRunner(ordering.getClass(), e); |
| } |
| return runner; |
| } |
| } |