DeepHistory.sctunit 865 B

123456789101112131415161718192021222324252627282930313233
  1. testcase for DeepHistory {
  2. test deepHistoryTest {
  3. // Change active states to State9;
  4. raise event1
  5. cycle
  6. raise event3
  7. cycle
  8. raise event5
  9. cycle
  10. raise event7
  11. cycle
  12. assert event1
  13. assert !active (DeepHistory.mainRegion.State1)
  14. assert active (DeepHistory.mainRegion.State2._region0.State4._region0.State7._region0.State9)
  15. // Leave State2. State4 and State9 should be saved as history.
  16. raise event2
  17. cycle
  18. assert active ( DeepHistory.mainRegion.State1)
  19. assert !active ( DeepHistory.mainRegion.State2._region0.State4._region0.State7._region0.State9)
  20. // Reenter State2. State9 should be activated (History of State2).
  21. raise event1
  22. cycle
  23. assert !active (DeepHistory.mainRegion.State1)
  24. assert active (DeepHistory.mainRegion.State2._region0.State4._region0.State7._region0.State9)
  25. }
  26. }