
/**
 * @author axel terfloth
 */
testgroup OutEventLifeCycle for statechart OutEventLifeCycle {
	
	
	/* an outgoing event must be accessible after the cycle that raised the event. */
	test availableAfterCycle {
		enter

		raise e
		cycle
		
		assert f
		
	} 
		
	/* an outgoing event must be accessible within the cycle that raised the event. */
	test availableWithinCycle {
		enter

		raise e
		cycle
		assert f_available_in_cycle
		
	} 
		
		
	/* an outgoing event that was raised in one cycle is not available within the next cycle */
	test unvailableWithin2ndCycle {
		enter

		raise e
		cycle
		
		cycle
		assert ! f_available_in_next_cycle 
	}
		
		
	/* an outgoing event that was raised in one cycle is not available after the following cycle */
	test unvailableAfter2ndCycle {
		enter

		raise e
		cycle
		
		cycle
		assert !f
	}
		
}