TriggerGuardExpressions.sctunit 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package tests
  2. testclass TriggerGuardExpressions for statechart TriggerGuardExpressions {
  3. /** If the guard is true then the transition will be taken on any event that matches a trigger. */
  4. operation trueGuard(){
  5. enter
  6. assert active (TriggerGuardExpressions.main_region.A)
  7. raise e1
  8. b = true
  9. cycle
  10. assert active (TriggerGuardExpressions.main_region.B)
  11. cycle
  12. assert active (TriggerGuardExpressions.main_region.A)
  13. raise e2
  14. cycle
  15. assert active (TriggerGuardExpressions.main_region.B)
  16. cycle
  17. assert active (TriggerGuardExpressions.main_region.A)
  18. raise e1
  19. raise e2
  20. cycle
  21. assert active (TriggerGuardExpressions.main_region.B)
  22. }
  23. /** If the guard is false then the transition will be taken on any event that matches a trigger. */
  24. operation falseGuard(){
  25. enter
  26. assert active (TriggerGuardExpressions.main_region.A)
  27. b = false
  28. raise e1
  29. cycle
  30. assert active (TriggerGuardExpressions.main_region.A)
  31. raise e2
  32. cycle
  33. assert active (TriggerGuardExpressions.main_region.A)
  34. raise e1
  35. raise e2
  36. cycle
  37. assert active (TriggerGuardExpressions.main_region.A)
  38. }
  39. }