testclass GuardedEntry for statechart GuardedEntry{ @Test operation EntryNotTakenOnStatechartEnter(){ assert guard == false enter assert active(GuardedEntry.main_region.A) assert done == false } @Test operation EntryTakenOnStatechartEnter() { guard = true enter // assert false "sctunit does not allow modifiing variables before entering the state machine!" assert active(GuardedEntry.main_region.A) assert done == true } @Test operation EntryTakenInTransition(){ initEntryInTransition(true,false) assert done } @Test operation EntryNotTakenInTransition(){ initEntryInTransition(false,false) assert !done } operation initEntryInTransition(guardVar : boolean, doneVar: boolean){ enter assert active(GuardedEntry.main_region.A) raise e proceed 1 cycle assert active(GuardedEntry.main_region.B) guard = guardVar done = doneVar raise e proceed 1 cycle assert active(GuardedEntry.main_region.A) } }