ParentFirstLocalReactions.sctunit 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. testclass ParentFirstLocalReactions for statechart executionorder.ParentFirstLocalReactions {
  2. var counter : integer = 0
  3. @Test operation expectBottomUpLocalReactionOrder() {
  4. enter
  5. assert active(executionorder.ParentFirstLocalReactions.r.A.r.AA.r.AAA)
  6. proceed 1 cycle
  7. assert active(executionorder.ParentFirstLocalReactions.r.A.r.AA.r.AAA)
  8. assert sm_local == 1
  9. assert a_local == 2
  10. assert aa_local == 3
  11. assert aaa_local == 4
  12. }
  13. @Test operation expectParentLocalReactionOnChildLocalTransition() {
  14. enter
  15. assert active(executionorder.ParentFirstLocalReactions.r.A.r.AA.r.AAA)
  16. raise e
  17. disable_a = true
  18. disable_aa = true
  19. proceed 1 cycle
  20. assert active(executionorder.ParentFirstLocalReactions.r.A.r.AA.r.AAB)
  21. assert sm_local == 1
  22. assert a_local == 2
  23. assert aa_local == 3
  24. assert aaa_local == 0
  25. }
  26. @Test operation expectGrandparentLocalReactionOnParentLocalTransition() {
  27. enter
  28. assert active(executionorder.ParentFirstLocalReactions.r.A.r.AA.r.AAA)
  29. disable_a = true
  30. raise e
  31. proceed 1 cycle
  32. assert active(executionorder.ParentFirstLocalReactions.r.A.r.AB)
  33. assert sm_local == 1
  34. assert a_local == 2
  35. assert aa_local == 0
  36. assert aaa_local == 0
  37. }
  38. @Test operation expectNoLocalReactionOnGrandparentTransition() {
  39. enter
  40. assert active(executionorder.ParentFirstLocalReactions.r.A.r.AA.r.AAA)
  41. disable_aaa = true
  42. disable_aa = true
  43. raise e
  44. proceed 1 cycle
  45. assert active(executionorder.ParentFirstLocalReactions.r.B)
  46. assert sm_local == 1
  47. assert a_local == 0
  48. assert aa_local == 0
  49. assert aaa_local == 0
  50. }
  51. }