EntryReactionAction.sctunit 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. testclass EntryReactionAction for statechart entries.EntryReactionAction {
  2. /*
  3. * Actions on an entry transition should be executed during entering the state machine.
  4. */
  5. @Test
  6. operation entryTransitionActionOnStatechartEnter(){
  7. enter
  8. assert enteredR1
  9. assert enteredR2
  10. assert enteredBdefault
  11. assert ! enteredBother
  12. }
  13. /*
  14. * Actions on an entry transition should be executed if it is used during a run to completion step.
  15. */
  16. @Test
  17. operation entryOnRTS(){
  18. init()
  19. raise b
  20. proceed 1 cycle
  21. assert ! enteredR1
  22. assert ! enteredR2
  23. assert ! enteredBdefault
  24. assert enteredBother
  25. }
  26. /*
  27. * Actions on an entry transition should not be executed if be executed when entering
  28. * a region using a history.
  29. */
  30. @Test
  31. operation noEntryTransitionActionOnHistory(){
  32. init()
  33. raise d
  34. proceed 1 cycle
  35. assert ! enteredR1
  36. assert ! enteredR2
  37. assert ! enteredBdefault
  38. assert ! enteredBother
  39. }
  40. operation init() :void {
  41. enter
  42. raise b
  43. proceed 1 cycle
  44. raise d
  45. proceed 1 cycle
  46. enteredR1 = false
  47. enteredR2 = false
  48. enteredBdefault = false
  49. enteredBother = false
  50. }
  51. }