public abstract class TimeContext extends TestContext
This class represents a test context specialized
for measuring execution time.
TimeContext implementations may perform assertions based upon the
execution time. For example:[code]
class MyTestCase extends TestCase() {
...
protected void validate() {
long ns = TimeContext.getAverageTime("ns");
TestContext.assertTrue(ns < 100); // Error if execution time is more than 100 ns.
...
}
}[/code]
| Modifier and Type | Field and Description |
|---|---|
static Configurable<Class<? extends TimeContext>> |
DEFAULT
Holds the time context default implementation (by default logs
average and minimum execution time to
System.out). |
static Class<? extends TimeContext> |
REGRESSION
Holds an implementation which does not perform any logging but raises an
AssertionException when an assertion fails, including any timing
assertion. |
static Configurable<Integer> |
TEST_DURATION_MS
Holds the minimum duration of each test execution (default 1000 ms).
|
CONSOLENULL, STANDARD, SYSTEM_OUT| Constructor and Description |
|---|
TimeContext() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doRun(TestCase testCase)
Benchmarks the specified test case and logs the results.
|
static void |
enter()
Enters the
DEFAULT time context. |
static void |
exit()
Exits the current time context.
|
static long |
getAverageTime(String unit)
Returns the average execution time of the latest execution performed or
-1 if the current context is not a time context. |
long |
getAverageTimeInPicoSeconds()
Returns the average execution time of the latest execution stated in
pico-seconds.
|
static long |
getMaximumTime(String unit)
Returns the maximum execution time of the latest execution performed or
-1 if the current context is not a time context. |
long |
getMaximumTimeInPicoSeconds()
Returns the maximmum execution time of the latest execution stated in
pico-seconds.
|
static long |
getMinimumTime(String unit)
Returns the minimum execution time of the latest execution performed or
-1 if the current context is not a time context. |
long |
getMinimumTimeInPicoSeconds()
Returns the minimum execution time of the latest execution stated in
pico-seconds.
|
assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertException, assertException, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, doAssert, doRun, fail, fail, run, rundebug, 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, warningenter, enter, exit, exit, getCurrentContext, getOuter, getOwner, setConcurrentContext, toStringpublic static final Class<? extends TimeContext> REGRESSION
AssertionException when an assertion fails, including any timing
assertion.public static final Configurable<Integer> TEST_DURATION_MS
public static final Configurable<Class<? extends TimeContext>> DEFAULT
System.out).public static void enter()
DEFAULT time context.public static void exit()
ClassCastException - if the context is not a time context.public static long getMinimumTime(String unit)
-1 if the current context is not a time context.unit - one of "s", "ms", "us", "ns", "ps"public static long getAverageTime(String unit)
-1 if the current context is not a time context.unit - one of "s", "ms", "us", "ns", "ps"public static long getMaximumTime(String unit)
-1 if the current context is not a time context.unit - one of "s", "ms", "us", "ns", "ps"public long getMinimumTimeInPicoSeconds()
public long getAverageTimeInPicoSeconds()
public long getMaximumTimeInPicoSeconds()
protected void doRun(TestCase testCase) throws Exception
doRun in class TestContexttestCase - the test case being executed if not marked ignored.ExceptionCopyright © 2005–2024 Javolution. All rights reserved.