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
.[code]
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.
}[/code]
Users may provide their own test context (or plugin) to output or show test results in various form (e.g. tabular, IDE integraged).[code] TestContext tabularLog = new TestContext() { ... } TestContext.enter(tabularLog); try { TestContext.run(testSuite); // Results sent to spreadsheet. ... } finally { TestContext.exit(); }[/code]
For automatic regression tests, a regression
context is provided which does not perform any logging but raises an
AssertionException
when an assertion fails.[code]
TestContext.enter(TestContext.REGRESSION);
try {
TestContext.run(testSuite); // AssertionError if assert fails.
...
} finally {
TestContext.exit();
}[/code]
TestSuite
Modifier and Type | Field and Description |
---|---|
static Class |
CONSOLE
Holds a test context logging test results to the system console.
|
static Configurable |
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 Class |
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,
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,
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,
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,
CharSequence message)
Checks the equality of both arrays specified.
|
static boolean |
assertArrayEquals(Object[] expected,
Object[] actual)
Convenience method equivalent to
assertArrayEquals(expected, actual, null) . |
static boolean |
assertArrayEquals(Object[] expected,
Object[] actual,
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,
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,
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,
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,
CharSequence message)
Convenience method equivalent to
assertEquals(new Long(expected), new Long(actual)) . |
static boolean |
assertEquals(Object expected,
Object actual)
Convenience method equivalent to
assertEquals(expected, actual, null) . |
static boolean |
assertEquals(Object expected,
Object actual,
CharSequence message)
Checks the equality of both objects specified.
|
static boolean |
assertException(Class exceptionClass,
Runnable logic)
Convenience method equivalent to
assertException(exceptionClass, logic, null) . |
static boolean |
assertException(Class exceptionClass,
Runnable logic,
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,
CharSequence message)
Convenience method equivalent to
assertEquals(false, actual, message) . |
static boolean |
assertNotNull(Object actual)
Convenience method equivalent to
assertNotNull(actual, null) . |
static boolean |
assertNotNull(Object actual,
CharSequence message)
Convenience method equivalent to
assertTrue(actual != null, message) . |
static boolean |
assertNull(Object actual)
Convenience method equivalent to
assertNull(actual, null) . |
static boolean |
assertNull(Object actual,
CharSequence message)
Convenience method equivalent to
assertEquals(null, actual, message) . |
static boolean |
assertSame(Object expected,
Object actual)
Convenience method equivalent to
assertSame(expected, actual, null) . |
static boolean |
assertSame(Object expected,
Object actual,
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,
CharSequence message)
Convenience method equivalent to
assertEquals(true, actual, message) . |
protected boolean |
doAssert(boolean value,
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(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, enterAction, error, error, error, error, error, exitAction, getCurrentLogContext, getDefault, info, info, isDebugLogged, isErrorLogged, isInfoLogged, isLogged, isWarningLogged, logDebug, logError, logInfo, logMessage, logWarning, warning, warning
enter, enter, exit, exit, getCurrentContext, getOuter, getOwner, setConcurrentContext, toString
public static final Configurable DEFAULT
System.out
and test errors are sent to System.err
).public static final Class CONSOLE
public static final Class 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()
ClassCastException
- if the current context is not a test context.public static void run(TestSuite testSuite) throws Exception
testSuite
- the test suite to be executed.ClassCastException
- if the current logging context is not a test
context.Exception
public static void run(TestCase testCase) throws Exception
testCase
- the test case to be executed.ClassCastException
- if the current logging context is not a test
context.Exception
public static boolean assertEquals(Object expected, Object actual, 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(Object expected, Object actual)
assertEquals(expected, actual, null)
.expected
- the expected result (can be null
).actual
- the actual result (can be null
).public static boolean assertSame(Object expected, Object actual, 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(Object expected, 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, 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, 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(Object actual, 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(Object actual)
assertNull(actual, null)
.actual
- the actual value.true
if actual is null
;
false
otherwise.public static boolean assertNotNull(Object actual, 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(Object actual)
assertNotNull(actual, null)
.actual
- the actual value.true
if actual is null
;
false
otherwise.public static boolean assertEquals(int expected, int actual, 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, 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.public static boolean assertEquals(double expected, double actual, 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.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, 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(Object[] expected, Object[] actual, 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(Object[] expected, 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, 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, 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, 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, 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(Class exceptionClass, Runnable logic, 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(Class exceptionClass, Runnable logic)
assertException(exceptionClass, logic, null)
.public static boolean fail(CharSequence message)
assertTrue(false, message)
.public static boolean fail()
fail(null)
.protected void doRun(TestSuite testSuite) throws Exception
testSuite
- the test suite to be executed.Exception
#doRun(javolution.testing.TestCase)
protected void doRun(TestCase testCase) throws Exception
ignored
,
the default implementation runs setUp
,
execute
, validate
and tearDown
in sequence.testCase
- the test case being executed if not marked ignored.Exception
protected boolean doAssert(boolean value, CharSequence message)
true
.
The default implementation logs an error message including the code
location of the assert if the assert checks fails. For example:[code]
[error] NaN expected but found Infinity
at javolution.TextTestSuite$DoubleParseDouble.validate(TextTestSuite.java:389)
[/code]value
- the boolean value to be tested.message
- the message to be displayed if assert fails (can be null
).Copyright © 2005–2016 Javolution. All rights reserved.