carbidecpp22devenv/plugins/org.eclipse.test.source_3.5.0.r20080925/src/org.junit4_4.5.0.v20090423/junitsrc/org/junit/internal/requests/FilterRequest.java
equal
deleted
inserted
replaced
|
1 /** |
|
2 * |
|
3 */ |
|
4 package org.junit.internal.requests; |
|
5 |
|
6 import org.junit.internal.runners.ErrorReportingRunner; |
|
7 import org.junit.runner.Request; |
|
8 import org.junit.runner.Runner; |
|
9 import org.junit.runner.manipulation.Filter; |
|
10 import org.junit.runner.manipulation.NoTestsRemainException; |
|
11 |
|
12 /** |
|
13 * A filtered {@link Request}. |
|
14 */ |
|
15 public final class FilterRequest extends Request { |
|
16 private final Request fRequest; |
|
17 private final Filter fFilter; |
|
18 |
|
19 /** |
|
20 * Creates a filtered Request |
|
21 * @param classRequest a {@link Request} describing your Tests |
|
22 * @param filter {@link Filter} to apply to the Tests described in |
|
23 * <code>classRequest</code> |
|
24 */ |
|
25 public FilterRequest(Request classRequest, Filter filter) { |
|
26 fRequest= classRequest; |
|
27 fFilter= filter; |
|
28 } |
|
29 |
|
30 /** @inheritDoc */ |
|
31 @Override |
|
32 public Runner getRunner() { |
|
33 try { |
|
34 Runner runner= fRequest.getRunner(); |
|
35 fFilter.apply(runner); |
|
36 return runner; |
|
37 } catch (NoTestsRemainException e) { |
|
38 return new ErrorReportingRunner(Filter.class, new Exception(String |
|
39 .format("No tests found matching %s from %s", fFilter |
|
40 .describe(), fRequest.toString()))); |
|
41 } |
|
42 } |
|
43 } |