SyncJoin.sctunit 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. testgroup SyncJoin for statechart SyncJoin {
  2. // test syncJoin_C2_Waits 'test intention' {
  3. test syncJoin_C2_Waits {
  4. enter
  5. assert active (SyncJoin.main_region.B)
  6. assert active (SyncJoin.main_region.B.r1.C1)
  7. assert active (SyncJoin.main_region.B.r2.D1)
  8. // state configuration assertion: assert active (SyncJoin.main_region.B, SyncJoin.main_region.B.r1.C1, SyncJoin.main_region.B.r2.D1)
  9. raise e
  10. cycle
  11. assert active (SyncJoin.main_region.B.r1.C2)
  12. assert active (SyncJoin.main_region.B.r2.D1)
  13. // require configuration C2Waits
  14. raise jc
  15. cycle
  16. assert active (SyncJoin.main_region.B.r1.C2)
  17. assert active (SyncJoin.main_region.B.r2.D1)
  18. raise jd
  19. cycle
  20. assert active (SyncJoin.main_region.B.r1.C2)
  21. assert active (SyncJoin.main_region.B.r2.D1)
  22. // 'If all required triggers exist' 'but the lower priority state is not active no join transition must be taken.'
  23. raise jc
  24. raise jd
  25. cycle
  26. assert active (SyncJoin.main_region.B.r1.C2)
  27. assert active (SyncJoin.main_region.B.r2.D1)
  28. raise f
  29. cycle
  30. assert active (SyncJoin.main_region.B.r1.C2)
  31. assert active (SyncJoin.main_region.B.r2.D2)
  32. raise jc
  33. cycle
  34. assert active (SyncJoin.main_region.B.r1.C2)
  35. assert active (SyncJoin.main_region.B.r2.D2)
  36. raise jd
  37. cycle
  38. assert active (SyncJoin.main_region.B.r1.C2)
  39. assert active (SyncJoin.main_region.B.r2.D2)
  40. raise jc
  41. raise jd
  42. cycle
  43. assert active (SyncJoin.main_region.A)
  44. }
  45. test syncJoin_D2_Waits {
  46. enter
  47. assert active (SyncJoin.main_region.B)
  48. assert active (SyncJoin.main_region.B.r1.C1)
  49. assert active (SyncJoin.main_region.B.r2.D1)
  50. raise f
  51. cycle
  52. assert active (SyncJoin.main_region.B.r1.C1)
  53. assert active (SyncJoin.main_region.B.r2.D2)
  54. raise jc
  55. cycle
  56. assert active (SyncJoin.main_region.B.r1.C1)
  57. assert active (SyncJoin.main_region.B.r2.D2)
  58. raise jd
  59. cycle
  60. assert active (SyncJoin.main_region.B.r1.C1)
  61. assert active (SyncJoin.main_region.B.r2.D2)
  62. // 'If all required triggers exist' 'but the lower priority state is not active no join transition must be taken.'
  63. raise jc
  64. raise jd
  65. cycle
  66. assert active (SyncJoin.main_region.B.r1.C1)
  67. assert active (SyncJoin.main_region.B.r2.D2)
  68. raise e
  69. cycle
  70. assert active (SyncJoin.main_region.B.r1.C2)
  71. assert active (SyncJoin.main_region.B.r2.D2)
  72. }
  73. }