carbidecpp20devenv/plugins/org.eclipse.test.source_3.3.0.v20080507/src/org.junit4_4.3.1/junitsrc/org/junit/internal/runners/TextListener.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.internal.runners;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     2
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     3
import java.io.PrintStream;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     4
import java.text.NumberFormat;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     5
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     6
import org.junit.runner.Description;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     7
import org.junit.runner.Result;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     8
import org.junit.runner.notification.Failure;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     9
import org.junit.runner.notification.RunListener;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    10
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    11
public class TextListener extends RunListener {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    12
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    13
	private final PrintStream fWriter;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    14
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    15
	public TextListener() {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    16
		this(System.out);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    17
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    18
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    19
	public TextListener(PrintStream writer) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    20
		this.fWriter= writer;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    21
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    22
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    23
	@Override
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    24
	public void testRunFinished(Result result) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    25
		printHeader(result.getRunTime());
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    26
		printFailures(result);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    27
		printFooter(result);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    28
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    29
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    30
	@Override
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    31
	public void testStarted(Description description) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    32
		fWriter.append('.');
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    33
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    34
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    35
	@Override
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    36
	public void testFailure(Failure failure) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    37
		fWriter.append('E');
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    38
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    39
	
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    40
	@Override
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    41
	public void testIgnored(Description description) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    42
		fWriter.append('I');
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    43
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    44
	
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    45
	/*
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    46
	 * Internal methods
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    47
	 */
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    48
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    49
	private PrintStream getWriter() {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    50
		return fWriter;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    51
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    52
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    53
	protected void printHeader(long runTime) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    54
		getWriter().println();
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    55
		getWriter().println("Time: " + elapsedTimeAsString(runTime));
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    56
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    57
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    58
	protected void printFailures(Result result) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    59
		if (result.getFailureCount() == 0)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    60
			return;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    61
		if (result.getFailureCount() == 1)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    62
			getWriter().println("There was " + result.getFailureCount() + " failure:");
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    63
		else
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    64
			getWriter().println("There were " + result.getFailureCount() + " failures:");
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    65
		int i= 1;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    66
		for (Failure each : result.getFailures())
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    67
			printFailure(each, i++);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    68
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    69
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    70
	protected void printFailure(Failure failure, int count) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    71
		printFailureHeader(failure, count);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    72
		printFailureTrace(failure);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    73
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    74
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    75
	protected void printFailureHeader(Failure failure, int count) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    76
		getWriter().println(count + ") " + failure.getTestHeader());
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    77
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    78
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    79
	protected void printFailureTrace(Failure failure) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    80
		getWriter().print(failure.getTrace());
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    81
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    82
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    83
	protected void printFooter(Result result) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    84
		if (result.wasSuccessful()) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    85
			getWriter().println();
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    86
			getWriter().print("OK");
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    87
			getWriter().println(" (" + result.getRunCount() + " test" + (result.getRunCount() == 1 ? "" : "s") + ")");
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    88
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    89
		} else {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    90
			getWriter().println();
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    91
			getWriter().println("FAILURES!!!");
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    92
			getWriter().println("Tests run: " + result.getRunCount() + ",  Failures: " + result.getFailureCount());
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    93
		}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    94
		getWriter().println();
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    95
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    96
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    97
	/**
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    98
	 * Returns the formatted string of the elapsed time. Duplicated from
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    99
	 * BaseTestRunner. Fix it.
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
   100
	 */
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
   101
	protected String elapsedTimeAsString(long runTime) {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
   102
		return NumberFormat.getInstance().format((double) runTime / 1000);
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
   103
	}
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
   104
}