public abstract class TestContext extends LogContext
This class represents a logging context specialized for testing.
A test context is necessary to run a TestSuite
or
TestCase
. The default
test context sends results
to System.out
and errors to System.err
.
TestContext.enter(); // Enters default (logs to System.out/System.err)
try {
TestContext.run(testSuite);
TestContext.run(testSuite.tests().get(3)); // Runs specific test case.
...
} finally {
TestContext.exit(); // Outputs test results statistics.
}
Users may provide their own test context (or plugin) to output or
show test results in various form (e.g. tabular, IDE integraged).
TestContext tabularLog = new TestContext() { ... }
TestContext.enter(tabularLog);
try {
TestContext.run(testSuite); // Results sent to spreadsheet.
...
} finally {
TestContext.exit();
}
For automatic regression tests, a regression
context is provided which does not perform any logging but raises an
AssertionException
when an assertion fails.
TestContext.enter(TestContext.REGRESSION);
try {
TestContext.run(testSuite); // AssertionError if assert fails.
...
} finally {
TestContext.exit();
}
TestSuite
,
Serialized FormModifier and Type | Field and Description |
---|---|
static java.lang.Class<? extends LogContext> |
CONSOLE
Holds a test context logging test results to the system console.
|
static Configurable<java.lang.Class<? extends TestContext>> |
DEFAULT
Holds the test context default implementation (the test report is sent to
to
System.out and test errors are sent to System.err ). |
static java.lang.Class<? extends TestContext> |
REGRESSION
Holds an implementation which does not perform any logging but raises
an
AssertionException when an assertion fails. |
NULL, STANDARD, SYSTEM_OUT
Constructor and Description |
---|
TestContext() |
Modifier and Type | Method and Description |
---|---|
static boolean |
assertArrayEquals(boolean[] expected,
boolean[] actual)
Convenience method equivalent to
assertArrayEquals(expected, actual, null) . |
static boolean |
assertArrayEquals(boolean[] expected,
boolean[] actual,
java.lang.CharSequence message)
Checks the equality of both arrays specified.
|
static boolean |
assertArrayEquals(double[] expected,
double[] actual,
double delta)
Convenience method equivalent to
assertArrayEquals(expected, actual, delta, null) . |
static boolean |
assertArrayEquals(double[] expected,
double[] actual,
double delta,
java.lang.CharSequence message)
Checks the equality of both arrays specified.
|
static boolean |
assertArrayEquals(int[] expected,
int[] actual)
Convenience method equivalent to
assertArrayEquals(expected, value, null) . |
static boolean |
assertArrayEquals(int[] expected,
int[] actual,
java.lang.CharSequence message)
Checks the equality of both arrays specified.
|
static boolean |
assertArrayEquals(long[] expected,
long[] actual)
Convenience method equivalent to
assertArrayEquals(expected, value, null) . |
static boolean |
assertArrayEquals(long[] expected,
long[] actual,
java.lang.CharSequence message)
Checks the equality of both arrays specified.
|
static boolean |
assertArrayEquals(java.lang.Object[] expected,
java.lang.Object[] actual)
Convenience method equivalent to
assertArrayEquals(expected, actual, null) . |
static boolean |
assertArrayEquals(java.lang.Object[] expected,
java.lang.Object[] actual,
java.lang.CharSequence message)
Checks the equality of the arrays specified.
|
static boolean |
assertEquals(double expected,
double actual)
Deprecated.
Use
assertEquals(expected, actual, delta) instead |
static boolean |
assertEquals(double expected,
double actual,
java.lang.CharSequence message)
Deprecated.
Use
assertEquals(expected, actual, delta, message) instead |
static boolean |
assertEquals(double expected,
double actual,
double delta)
Convenience method equivalent to
assertEquals(expected, actual, delta, null) . |
static boolean |
assertEquals(double expected,
double actual,
double delta,
java.lang.CharSequence message)
Asserts that two doubles or floats are equal to within a positive delta.
|
static boolean |
assertEquals(int expected,
int actual)
Convenience method equivalent to
assertEquals(expected, actual, null) . |
static boolean |
assertEquals(int expected,
int actual,
java.lang.CharSequence message)
Convenience method equivalent to
assertEquals(new Integer(expected), new Integer(actual), message) . |
static boolean |
assertEquals(long expected,
long actual)
Convenience method equivalent to
assertEquals(expected, actual, null) . |
static boolean |
assertEquals(long expected,
long actual,
java.lang.CharSequence message)
Convenience method equivalent to
assertEquals(new Long(expected), new Long(actual)) . |
static boolean |
assertEquals(java.lang.Object expected,
java.lang.Object actual)
Convenience method equivalent to
assertEquals(expected, actual, null) . |
static boolean |
assertEquals(java.lang.Object expected,
java.lang.Object actual,
java.lang.CharSequence message)
Checks the equality of both objects specified.
|
static boolean |
assertException(java.lang.Class exceptionClass,
java.lang.Runnable logic)
Convenience method equivalent to
assertException(exceptionClass, logic, null) . |
static boolean |
assertException(java.lang.Class exceptionClass,
java.lang.Runnable logic,
java.lang.CharSequence message)
Checks that the specified logic raises an instance of the specified
exception.
|
static boolean |
assertFalse(boolean actual)
Convenience method equivalent to
assertFalse(actual, null) . |
static boolean |
assertFalse(boolean actual,
java.lang.CharSequence message)
Convenience method equivalent to
assertEquals(false, actual, message) . |
static boolean |
assertNotNull(java.lang.Object actual)
Convenience method equivalent to
assertNotNull(actual, null) . |
static boolean |
assertNotNull(java.lang.Object actual,
java.lang.CharSequence message)
Convenience method equivalent to
assertTrue(actual ! |
static boolean |
assertNull(java.lang.Object actual)
Convenience method equivalent to
assertNull(actual, null) . |
static boolean |
assertNull(java.lang.Object actual,
java.lang.CharSequence message)
Convenience method equivalent to
assertEquals(null, actual, message) . |
static boolean |
assertSame(java.lang.Object expected,
java.lang.Object actual)
Convenience method equivalent to
assertSame(expected, actual, null) . |
static boolean |
assertSame(java.lang.Object expected,
java.lang.Object actual,
java.lang.CharSequence message)
Checks that both objects specified refer to the same instance.
|
static boolean |
assertTrue(boolean actual)
Convenience method equivalent to
assertTrue(actual, null) . |
static boolean |
assertTrue(boolean actual,
java.lang.CharSequence message)
Convenience method equivalent to
assertEquals(true, actual, message) . |
protected boolean |
doAssert(boolean value,
java.lang.CharSequence message)
Asserts the specified value is
true . |
protected void |
doRun(TestCase testCase)
Executes the specified test case and logs the results.
|
protected void |
doRun(TestSuite testSuite)
Executes the specified test suite and logs the results.
|
static void |
enter()
Enters the
DEFAULT test context. |
static void |
exit()
Exits the current test context.
|
static boolean |
fail()
Convenience method equivalent to
fail(null) . |
static boolean |
fail(java.lang.CharSequence message)
Convenience method equivalent to
assertTrue(false, message) . |
static void |
run(TestCase testCase)
Executes the specified test case and logs the results to the current
test context.
|
static void |
run(TestSuite testSuite)
Executes the specified test suite and logs the results to the
current test context.
|
debug, debug, debug, enterAction, error, error, error, error, error, error, error, exitAction, getCurrentLogContext, getDefault, info, info, info, isDebugLogged, isErrorLogged, isInfoLogged, isLogged, isWarningLogged, logDebug, logError, logInfo, logMessage, logWarning, warning, warning, warning
enter, enter, exit, exit, getCurrentContext, getOuter, getOwner, setConcurrentContext, toString
public static final Configurable<java.lang.Class<? extends TestContext>> DEFAULT
System.out
and test errors are sent to System.err
).public static final java.lang.Class<? extends LogContext> CONSOLE
public static final java.lang.Class<? extends TestContext> REGRESSION
AssertionException
when an assertion fails.
This implementation can be used for automatic regression tests.public static void enter()
DEFAULT
test context.public static void exit()
java.lang.ClassCastException
- if the current context is not a test context.public static void run(TestSuite testSuite) throws java.lang.Exception
testSuite
- the test suite to be executed.java.lang.ClassCastException
- if the current logging context is not a test
context.java.lang.Exception
public static void run(TestCase testCase) throws java.lang.Exception
testCase
- the test case to be executed.java.lang.ClassCastException
- if the current logging context is not a test
context.java.lang.Exception
public static boolean assertEquals(java.lang.Object expected, java.lang.Object actual, java.lang.CharSequence message)
expected
- the expected result (can be null
).actual
- the actual result (can be null
).message
- the message displayed if assert fails or null
if none.true
if both expected and actual are equal;
false
otherwise.public static boolean assertEquals(java.lang.Object expected, java.lang.Object actual)
assertEquals(expected, actual, null)
.expected
- the expected result (can be null
).actual
- the actual result (can be null
).public static boolean assertSame(java.lang.Object expected, java.lang.Object actual, java.lang.CharSequence message)
expected
- the expected result (can be null
).actual
- the actual result (can be null
).message
- the message displayed if assert fails or null
if none.true
if both expected and actual are the same
object; false
otherwise.public static boolean assertSame(java.lang.Object expected, java.lang.Object actual)
assertSame(expected, actual, null)
.expected
- the expected result (can be null
).actual
- the actual result (can be null
).true
if both expected and actual are the same
object; false
otherwise.public static boolean assertTrue(boolean actual, java.lang.CharSequence message)
assertEquals(true, actual, message)
.actual
- the actual value.message
- the message displayed if assert fails or null
if none.true
if actual is true
;
false
otherwise.public static boolean assertTrue(boolean actual)
assertTrue(actual, null)
.actual
- the actual value.true
if actual is true
;
false
otherwise.public static boolean assertFalse(boolean actual, java.lang.CharSequence message)
assertEquals(false, actual, message)
.actual
- the actual value.message
- the message displayed if assert fails or null
if none.true
if actual is false
;
false
otherwise.public static boolean assertFalse(boolean actual)
assertFalse(actual, null)
.actual
- the actual value.true
if actual is false
;
false
otherwise.public static boolean assertNull(java.lang.Object actual, java.lang.CharSequence message)
assertEquals(null, actual, message)
.actual
- the actual value.message
- the message displayed if assert fails or null
if none.true
if actual is null
;
false
otherwise.public static boolean assertNull(java.lang.Object actual)
assertNull(actual, null)
.actual
- the actual value.true
if actual is null
;
false
otherwise.public static boolean assertNotNull(java.lang.Object actual, java.lang.CharSequence message)
assertTrue(actual != null, message)
.actual
- the actual value.message
- the message displayed if assert fails or null
if none.true
if actual is not null
;
false
otherwise.public static boolean assertNotNull(java.lang.Object actual)
assertNotNull(actual, null)
.actual
- the actual value.true
if actual is null
;
false
otherwise.public static boolean assertEquals(int expected, int actual, java.lang.CharSequence message)
assertEquals(new Integer(expected), new Integer(actual), message)
.expected
- the expected result.actual
- the actual result.message
- the message displayed if assert fails or null
if none.true
if both expected and actual are equal;
false
otherwise.public static boolean assertEquals(int expected, int actual)
assertEquals(expected, actual, null)
.expected
- the expected result.actual
- the actual result.true
if both expected and actual are equal;
false
otherwise.public static boolean assertEquals(long expected, long actual, java.lang.CharSequence message)
assertEquals(new Long(expected), new Long(actual))
.expected
- the expected result.actual
- the actual result.message
- the message displayed if assert fails or null
if none.true
if both expected and actual are equal;
false
otherwise.public static boolean assertEquals(long expected, long actual)
assertEquals(expected, actual, null)
.expected
- the expected result.actual
- the actual result.true
if both expected and actual are equal;
false
otherwise.@Deprecated public static boolean assertEquals(double expected, double actual, java.lang.CharSequence message)
assertEquals(expected, actual, delta, message)
insteadassertEquals(new Double(expected), new Double(actual), message)
.expected
- the expected result.actual
- the actual result.message
- the message displayed if assert fails or null
if none.true
if both expected and actual are equal;
false
otherwise.@Deprecated public static boolean assertEquals(double expected, double actual)
assertEquals(expected, actual, delta)
insteadassertEquals(expected, actual, null)
.expected
- the expected result.actual
- the actual result.true
if both expected and actual are equal;
false
otherwise.public static boolean assertEquals(double expected, double actual, double delta, java.lang.CharSequence message)
expected
- the expected result.actual
- the actual result.delta
- the maximum delta between expected and actual for which
both numbers are still considered equal.message
- the message displayed if assert fails or null
if none.true
if both expected and actual are approximately
equal; false
otherwise.public static boolean assertEquals(double expected, double actual, double delta)
assertEquals(expected, actual, delta, null)
.expected
- the expected result.actual
- the actual result.delta
- the maximum delta between expected and actual for which
both numbers are still considered equal.true
if both expected and actual are approximately
equal; false
otherwise.public static boolean assertArrayEquals(java.lang.Object[] expected, java.lang.Object[] actual, java.lang.CharSequence message)
null
, they are considered equal.expected
- the single dimension array
with expected values (can be null
).actual
- the single dimension array
with actual values (can be null
).message
- the message displayed if assert fails or null
if none.true
if both expected and actual have equals
elements; false
otherwise.public static boolean assertArrayEquals(java.lang.Object[] expected, java.lang.Object[] actual)
assertArrayEquals(expected, actual, null)
.expected
- the single dimension array
with expected values (can be null
).actual
- the single dimension array
with actual values (can be null
).public static boolean assertArrayEquals(boolean[] expected, boolean[] actual, java.lang.CharSequence message)
null
, they are considered equal.expected
- array (can be null
).actual
- array (can be null
).message
- the message displayed if assert fails or null
if none.true
if both expected and actual have the same
values; false
otherwise.public static boolean assertArrayEquals(boolean[] expected, boolean[] actual)
assertArrayEquals(expected, actual, null)
.expected
- array (can be null
).actual
- array (can be null
).true
if both expected and actual have the same
values; false
otherwise.public static boolean assertArrayEquals(int[] expected, int[] actual, java.lang.CharSequence message)
null
, they are considered equal.expected
- array (can be null
).actual
- array (can be null
).message
- the message displayed if assert fails or null
if none.true
if both expected and actual have the same
values; false
otherwise.public static boolean assertArrayEquals(int[] expected, int[] actual)
assertArrayEquals(expected, value, null)
.expected
- array (can be null
).actual
- array (can be null
).true
if both expected and actual have the same
values; false
otherwise.public static boolean assertArrayEquals(long[] expected, long[] actual, java.lang.CharSequence message)
null
, they are considered equal.expected
- array (can be null
).actual
- array (can be null
).message
- the message displayed if assert fails or null
if none.true
if both expected and actual have the same
values; false
otherwise.public static boolean assertArrayEquals(long[] expected, long[] actual)
assertArrayEquals(expected, value, null)
.expected
- array (can be null
).actual
- array (can be null
).true
if both expected and actual have the same
values; false
otherwise.public static boolean assertArrayEquals(double[] expected, double[] actual, double delta, java.lang.CharSequence message)
null
, they are considered equal.expected
- array (can be null
).actual
- array (can be null
).delta
- the maximum delta between expected and actual for which
both numbers are still considered equal.message
- the message displayed if assert fails or null
if none.true
if both expected and actual have approximately
the same values; false
otherwise.public static boolean assertArrayEquals(double[] expected, double[] actual, double delta)
assertArrayEquals(expected, actual, delta, null)
.expected
- array (can be null
).actual
- array (can be null
).delta
- the maximum delta between expected and actual for which
both numbers are still considered equal.true
if both expected and actual have the same
values; false
otherwise.public static boolean assertException(java.lang.Class exceptionClass, java.lang.Runnable logic, java.lang.CharSequence message)
exceptionClass
- the type of exception expected.logic
- the logic supposed to produce the desired exception.message
- the message displayed if assert fails or null
if none.true
if the specified logic raises an exception of
specified type; false
otherwise.public static boolean assertException(java.lang.Class exceptionClass, java.lang.Runnable logic)
assertException(exceptionClass, logic, null)
.public static boolean fail(java.lang.CharSequence message)
assertTrue(false, message)
.public static boolean fail()
fail(null)
.protected void doRun(TestSuite testSuite) throws java.lang.Exception
testSuite
- the test suite to be executed.java.lang.Exception
doRun(javolution.testing.TestCase)
protected void doRun(TestCase testCase) throws java.lang.Exception
ignored
,
the default implementation runs setUp
,
execute
, validate
and tearDown
in sequence.testCase
- the test case being executed if not marked ignored.java.lang.Exception
protected boolean doAssert(boolean value, java.lang.CharSequence message)
true
.
The default implementation logs an error message including the code
location of the assert if the assert checks fails. For example:
[error] NaN expected but found Infinity
at javolution.TextTestSuite$DoubleParseDouble.validate(TextTestSuite.java:389)
value
- the boolean value to be tested.message
- the message to be displayed if assert fails (can be null
).Copyright © 2005 - 2007 Javolution.