| package org.junit.internal.runners.model; |
| |
| import org.junit.internal.AssumptionViolatedException; |
| import org.junit.runner.Description; |
| import org.junit.runner.notification.Failure; |
| import org.junit.runner.notification.RunNotifier; |
| import org.junit.runners.model.MultipleFailureException; |
| |
| public class EachTestNotifier { |
| private final RunNotifier notifier; |
| |
| private final Description description; |
| |
| public EachTestNotifier(RunNotifier notifier, Description description) { |
| this.notifier = notifier; |
| this.description = description; |
| } |
| |
| public void addFailure(Throwable targetException) { |
| if (targetException instanceof MultipleFailureException) { |
| addMultipleFailureException((MultipleFailureException) targetException); |
| } else { |
| notifier.fireTestFailure(new Failure(description, targetException)); |
| } |
| } |
| |
| private void addMultipleFailureException(MultipleFailureException mfe) { |
| for (Throwable each : mfe.getFailures()) { |
| addFailure(each); |
| } |
| } |
| |
| public void addFailedAssumption(AssumptionViolatedException e) { |
| notifier.fireTestAssumptionFailed(new Failure(description, e)); |
| } |
| |
| public void fireTestFinished() { |
| notifier.fireTestFinished(description); |
| } |
| |
| public void fireTestStarted() { |
| notifier.fireTestStarted(description); |
| } |
| |
| public void fireTestIgnored() { |
| notifier.fireTestIgnored(description); |
| } |
| |
| /** |
| * Calls {@link RunNotifier#fireTestSuiteStarted(Description)}, passing the |
| * {@link Description} that was passed to the {@code EachTestNotifier} constructor. |
| * This should be called when a test suite is about to be started. |
| * @see RunNotifier#fireTestSuiteStarted(Description) |
| * @since 4.13 |
| */ |
| public void fireTestSuiteStarted() { |
| notifier.fireTestSuiteStarted(description); |
| } |
| |
| /** |
| * Calls {@link RunNotifier#fireTestSuiteFinished(Description)}, passing the |
| * {@link Description} that was passed to the {@code EachTestNotifier} constructor. |
| * This should be called when a test suite has finished, whether the test suite succeeds |
| * or fails. |
| * @see RunNotifier#fireTestSuiteFinished(Description) |
| * @since 4.13 |
| */ |
| public void fireTestSuiteFinished() { |
| notifier.fireTestSuiteFinished(description); |
| } |
| } |