DeepHistory.sctunit 988 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package tests
  2. testclass DeepHistory for statechart DeepHistory {
  3. operation deepHistoryTest(){
  4. // Change active states to State9;
  5. enter
  6. raise event1
  7. cycle
  8. raise event3
  9. cycle
  10. raise event5
  11. cycle
  12. raise event7
  13. cycle
  14. //Not possible to assert event1 because it is an IN event.
  15. //assert event1
  16. assert !active (DeepHistory.mainRegion.State1)
  17. assert active (DeepHistory.mainRegion.State2._region0.State4._region0.State7._region0.State9)
  18. // Leave State2. State4 and State9 should be saved as history.
  19. raise event2
  20. cycle
  21. assert active ( DeepHistory.mainRegion.State1)
  22. assert !active ( DeepHistory.mainRegion.State2._region0.State4._region0.State7._region0.State9)
  23. // Reenter State2. State9 should be activated (History of State2).
  24. raise event1
  25. cycle
  26. assert !active (DeepHistory.mainRegion.State1)
  27. assert active (DeepHistory.mainRegion.State2._region0.State4._region0.State7._region0.State9)
  28. }
  29. }