This repository has been archived on 2024-01-25. You can view files and clone it, but cannot push or open issues or pull requests.
XF/test-bench/test-bench.dox
2023-09-19 15:59:49 +02:00

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