Overview | Package | Class | Tree | Deprecated | Index | Help
| J avolution v5.3 (J2SE 1.5+)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javolution.testing
Class TimeContext

    java.lang.Object
      javolution.context.Context
          javolution.context.LogContext
              javolution.testing.TestContext
                  javolution.testing.TimeContext

All Implemented Interfaces:
  java.io.Serializable, XMLSerializable

    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:``

         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.
                  ...
              }
         }

Version:
  5.2, August 5, 2007
Author:
  Jean-Marie Dautelle
See Also:
  Serialized Form

Field Summary
`static Configurable<java.lang.Class<? extends TimeContext>>` | `DEFAULT` Holds the time context default implementation (by default logs average and minimum execution time to `System.out`).
`static java.lang.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<java.lang.Integer>` | `TEST_DURATION_MS` Holds the minimum duration of each test execution (default 1000 ms).

Fields inherited from class javolution.testing.TestContext
`CONSOLE`

Fields inherited from class javolution.context.LogContext
`NULL, STANDARD, SYSTEM_OUT`

Fields inherited from class javolution.context.Context
`ROOT`

Constructor Summary
`TimeContext()`

Method Summary
`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(java.lang.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(java.lang.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(java.lang.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.

Methods inherited from class javolution.testing.TestContext
`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, run`

Methods inherited from class javolution.context.LogContext
`debug, debug, debug, debug, debug, debug, enterAction, error, error, error, error, error, exitAction, getCurrent, getDefault, info, info, info, info, info, info, isDebugLogged, isErrorLogged, isInfoLogged, isLogged, isWarningLogged, logDebug, logError, logInfo, logMessage, logWarning, warning, warning, warning, warning, warning, warning`

Methods inherited from class javolution.context.Context
`enter, enter, exit, exit, getOuter, getOwner, setCurrent, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### REGRESSION

    public static final java.lang.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.

### TEST_DURATION_MS

    public static final Configurable<java.lang.Integer> TEST_DURATION_MS

  Holds the minimum duration of each test execution (default 1000 ms). The larger the number the more accurate is the average time result; but the longer it takes to run the tests.

### DEFAULT

    public static final Configurable<java.lang.Class<? extends TimeContext>> DEFAULT

  Holds the time context default implementation (by default logs average and minimum execution time to `System.out`).

Constructor Detail

### TimeContext

    public TimeContext()

Method Detail

### enter

    public static void enter()

  Enters the `DEFAULT` time context.

### exit

    public static void exit()

  Exits the current time context.

  Throws:
    `java.lang.ClassCastException` - if the context is not a time context.

### getMinimumTime

    public static long getMinimumTime(java.lang.String unit)

  Returns the minimum execution time of the latest execution performed or `-1` if the current context is not a time context.

  Parameters:
    `unit` - one of `"s", "ms", "us", "ns", "ps"`
  Returns:
    the minimum execution time stated in the specified unit.

### getAverageTime

    public static long getAverageTime(java.lang.String unit)

  Returns the average execution time of the latest execution performed or `-1` if the current context is not a time context.

  Parameters:
    `unit` - one of `"s", "ms", "us", "ns", "ps"`
  Returns:
    the average execution time stated in the specified unit.

### getMaximumTime

    public static long getMaximumTime(java.lang.String unit)

  Returns the maximum execution time of the latest execution performed or `-1` if the current context is not a time context.

  Parameters:
    `unit` - one of `"s", "ms", "us", "ns", "ps"`
  Returns:
    the maximum execution time stated in the specified unit.

### getMinimumTimeInPicoSeconds

    public long getMinimumTimeInPicoSeconds()

  Returns the minimum execution time of the latest execution stated in pico-seconds.

  Returns:
    the time in pico-seconds.

### getAverageTimeInPicoSeconds

    public long getAverageTimeInPicoSeconds()

  Returns the average execution time of the latest execution stated in pico-seconds.

  Returns:
    the time in pico-seconds.

### getMaximumTimeInPicoSeconds

    public long getMaximumTimeInPicoSeconds()

  Returns the maximmum execution time of the latest execution stated in pico-seconds.

  Returns:
    the time in pico-seconds.

### doRun

    protected void doRun(TestCase testCase)
                  throws java.lang.Exception

  Benchmarks the specified test case and logs the results.

  Overrides:
    `doRun` in class `TestContext`
  Parameters:
    `testCase` - the test case being executed if not marked ignored.
  Throws:
    `java.lang.Exception`

Overview | Package | Class | Tree | Deprecated | Index | Help
| J avolution v5.3 (J2SE 1.5+)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005 - 2009 Javolution.