GuardedEntry.sctunit 998 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. testclass GuardedEntry for statechart GuardedEntry{
  2. @Test
  3. operation EntryNotTakenOnStatechartEnter(){
  4. assert guard == false
  5. enter
  6. assert active(GuardedEntry.main_region.A)
  7. assert done == false
  8. }
  9. @Test
  10. operation EntryTakenOnStatechartEnter()
  11. {
  12. guard = true
  13. enter
  14. // assert false "sctunit does not allow modifiing variables before entering the state machine!"
  15. assert active(GuardedEntry.main_region.A)
  16. assert done == true
  17. }
  18. @Test
  19. operation EntryTakenInTransition(){
  20. initEntryInTransition(true,false)
  21. assert done
  22. }
  23. @Test
  24. operation EntryNotTakenInTransition(){
  25. initEntryInTransition(false,false)
  26. assert !done
  27. }
  28. operation initEntryInTransition(guardVar : boolean, doneVar: boolean){
  29. enter
  30. assert active(GuardedEntry.main_region.A)
  31. raise e
  32. proceed 1 cycle
  33. assert active(GuardedEntry.main_region.B)
  34. guard = guardVar
  35. done = doneVar
  36. raise e
  37. proceed 1 cycle
  38. assert active(GuardedEntry.main_region.A)
  39. }
  40. }