TriggerGuardExpressions.sctunit 1.1 KB

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