103 lines
3.6 KiB
Plaintext
103 lines
3.6 KiB
Plaintext
|
#ifndef TEST_BENCH_H
|
||
|
#define TEST_BENCH_H
|
||
|
|
||
|
/** \mainpage PTR XF Test Bench Documentation
|
||
|
*
|
||
|
* \section sec_text_bench_intro PTR XF Test Bench
|
||
|
* This test bench contains several test projects. Every project contains class(es) to test the <a href="../../../../xf/doxygen/output/html/index.html">PTR XF</a>.
|
||
|
*
|
||
|
* \section sec_test_bench_proj_overview Test Projects Overview
|
||
|
* - \ref test01
|
||
|
* - \ref test02
|
||
|
* - \ref test03
|
||
|
* - \ref test04
|
||
|
* - \ref test05
|
||
|
*
|
||
|
* \section sec_test_bench_external_links Links to related Documentation
|
||
|
* - <a href="../../../../src/simplified/xf/doxygen/output/html/index.html">XF Documentation</a>
|
||
|
* - <a href="../../../../src/mdw/trace/doxygen/output/html/index.html">Trace Documentation</a>
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* \defgroup test_bench PTR XF Test Bench
|
||
|
* \brief All tests in this Test Bench.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
// @{
|
||
|
|
||
|
/**
|
||
|
* \defgroup test01 First Test Project
|
||
|
* \brief Uses Task01Tm class to test XF.
|
||
|
*
|
||
|
* This test lanches an instance of the Task01Tm class and produces some output. Optionally,
|
||
|
* multiple instances of Task01Tm can be created to test the XF.
|
||
|
*
|
||
|
* The Test Factory (TestFactory01) instanciates 2 objects:
|
||
|
* - An object of Task01Tm which outputs the text \b "Say Hello" every second
|
||
|
* - An object of Task01Tm which outputs the text \b "Echo" every half second
|
||
|
*
|
||
|
* This results into the following output:
|
||
|
* \image html test01-output.png "Output Received by the TraceLog Application"
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* \defgroup test02 Second Test Project
|
||
|
* \brief Uses StateMachine02 class to test XF.
|
||
|
*
|
||
|
* This test checks again timeout handling and proper termination of a state
|
||
|
* machine.
|
||
|
* In case the state machine was statically/globally created, the XF must not
|
||
|
* delete the object, when requested to terminate the behavior. If the
|
||
|
* state-machine was created on the heap (dynamic allocation), the XF must
|
||
|
* delete the state machine upon request to terminate.
|
||
|
*
|
||
|
* Wether or not the state machine should be deleted is handled with the
|
||
|
* 'deleteOnTerminate()' method provided by the XFReactive interface.
|
||
|
*
|
||
|
* This results into the following output:
|
||
|
* \image html test02-output.png "Output Received by the TraceLog Application"
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* \defgroup test03 Thirth Test Project
|
||
|
* \brief Uses StateMachine03 class to test XF.
|
||
|
*
|
||
|
* This test checks basic event handling in state machines. In this example
|
||
|
* the StateMachine03 class sends itself an \a evRestart event to change from
|
||
|
* one state to another.
|
||
|
*
|
||
|
* This results into the following output:
|
||
|
* \image html test03-output.png "Output Received by the TraceLog Application"
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* \defgroup test04 Forth Test Project
|
||
|
* \brief Uses StateMachine04a and StateMachine04b class to test XF.
|
||
|
*
|
||
|
* Tests if timeouts are correctly cancelled. When leaving a state with a transition
|
||
|
* having a timeout, without the timeout raises, the timeout must be cancelled (unscheduled).
|
||
|
*
|
||
|
* This results into the following output:
|
||
|
* \image html test04-output.png "Output Received by the TraceLog Application"
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* \defgroup test05 Fifth Test Project
|
||
|
* \brief Uses StateMachine05a and StateMachine05b class to test XF.
|
||
|
*
|
||
|
* With this test multiple timeouts are added to the XFTimeoutManager list at the same time.
|
||
|
* This tests the way how new timeouts are added in relation to other timeouts (with
|
||
|
* the same timeout value) already added to the list. For more details how the objects
|
||
|
* are created, please refere to the implementation of the TestFactory05 class.
|
||
|
*
|
||
|
* The expected output should be as follows:
|
||
|
* \image html test05-output.png "Output Received by the TraceLog Application"
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
// @}
|
||
|
|
||
|
#endif // TEST_BENCH_H
|