DeepHistory.sctunit 1005 B

12345678910111213141516171819202122232425262728293031323334353637
  1. testclass DeepHistory for statechart DeepHistory {
  2. @Test
  3. operation deepHistoryTest(){
  4. // Change active states to State9;
  5. enter
  6. raise event1
  7. proceed 1 cycle
  8. raise event3
  9. proceed 1 cycle
  10. raise event5
  11. proceed 1 cycle
  12. raise event7
  13. proceed 1 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. proceed 1 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. proceed 1 cycle
  26. assert !active (DeepHistory.mainRegion.State1)
  27. assert active (DeepHistory.mainRegion.State2._region0.State4._region0.State7._region0.State9)
  28. }
  29. }