SyncJoin.sctunit 2.4 KB

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