TriggerGuardExpressions.sctunit 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. testclass 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
  4. operation trueGuard(){
  5. enter
  6. assert active (TriggerGuardExpressions.main_region.A)
  7. raise e1
  8. b = true
  9. proceed 1 cycle
  10. assert active (TriggerGuardExpressions.main_region.B)
  11. proceed 1 cycle
  12. assert active (TriggerGuardExpressions.main_region.A)
  13. raise e2
  14. proceed 1 cycle
  15. assert active (TriggerGuardExpressions.main_region.B)
  16. proceed 1 cycle
  17. assert active (TriggerGuardExpressions.main_region.A)
  18. raise e1
  19. raise e2
  20. proceed 1 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. @Test
  25. operation falseGuard(){
  26. enter
  27. assert active (TriggerGuardExpressions.main_region.A)
  28. b = false
  29. raise e1
  30. proceed 1 cycle
  31. assert active (TriggerGuardExpressions.main_region.A)
  32. raise e2
  33. proceed 1 cycle
  34. assert active (TriggerGuardExpressions.main_region.A)
  35. raise e1
  36. raise e2
  37. proceed 1 cycle
  38. assert active (TriggerGuardExpressions.main_region.A)
  39. }
  40. }