/**
 * These test cases check the precedence issues that occured with the construction of the trigger condition 
 * that consists of the trigger and guard part. 
 * The condition for a local reaction and transition depends on the trigger and guard part.
 */
testgroup TriggerExpressionPrecedence for statechart expressions.TriggerExpressionPrecedence {
	
	
	/** If a trigger is specified and not active then the trigger condition should not become true. */
	test unsatisfiedTriggerAndFGuardFalseOrFalse {

		enter
		
		c1 = false
		c2 = false
		
		cycle
		
		assert ! e1_transition
	}


	/** If a trigger is specified and not active then the trigger condition should not become true. */
	test unsatisfiedTriggerAndFGuardTrueOrFalse {

		enter
		
		c1 = true
		c2 = false
		
		cycle
		
		assert ! e1_transition
	}


	/** If a trigger is specified and not active then the trigger condition should not become true. */
	test unsatisfiedTriggerAndFGuardFalseOrTrue {

		enter
		
		c1 = false
		c2 = true
		
		cycle
		
		assert ! e1_transition
	}


	/** If a trigger is specified and not active then the trigger condition should not become true. */
	test unsatisfiedTriggerAndFGuardTrueOrTrue {

		enter
		
		c1 = true
		c2 = true
		
		cycle
		
		assert ! e1_transition
	}
}

