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
 |