testclass TriggerGuardExpressions for statechart TriggerGuardExpressions { /** If the guard is true then the transition will be taken on any event that matches a trigger. */ @Test operation trueGuard(){ enter assert active (TriggerGuardExpressions.main_region.A) raise e1 b = true proceed 1 cycle assert active (TriggerGuardExpressions.main_region.B) proceed 1 cycle assert active (TriggerGuardExpressions.main_region.A) raise e2 proceed 1 cycle assert active (TriggerGuardExpressions.main_region.B) proceed 1 cycle assert active (TriggerGuardExpressions.main_region.A) raise e1 raise e2 proceed 1 cycle assert active (TriggerGuardExpressions.main_region.B) } /** If the guard is false then the transition will be taken on any event that matches a trigger. */ @Test operation falseGuard(){ enter assert active (TriggerGuardExpressions.main_region.A) b = false raise e1 proceed 1 cycle assert active (TriggerGuardExpressions.main_region.A) raise e2 proceed 1 cycle assert active (TriggerGuardExpressions.main_region.A) raise e1 raise e2 proceed 1 cycle assert active (TriggerGuardExpressions.main_region.A) } }