|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectakka.actor.ActorRef
akka.actor.InternalActorRef
akka.actor.ActorRefWithCell
akka.actor.LocalActorRef
akka.testkit.TestActorRef<T>
akka.testkit.TestFSMRef<S,D,T>
public class TestFSMRef<S,D,T extends Actor>
This is a specialised form of the TestActorRef with support for querying and setting the state of a FSM. Use a LoggingFSM with this class if you also need to inspect event traces.
val fsm = TestFSMRef(new Actor with LoggingFSM[Int, Null] {
override def logDepth = 12
startWith(1, null)
when(1) {
case Ev("hello") => goto(2)
}
when(2) {
case Ev("world") => goto(1)
}
}
assert (fsm.stateName == 1)
fsm ! "hallo"
assert (fsm.stateName == 2)
assert (fsm.underlyingActor.getLog == IndexedSeq(FSMLogEntry(1, null, "hallo")))
| Constructor Summary | |
|---|---|
TestFSMRef(ActorSystem system,
Props props,
ActorRef supervisor,
java.lang.String name,
scala.Predef.$less$colon$less<T,FSM<S,D>> ev)
|
|
| Method Summary | ||
|---|---|---|
static
|
apply(scala.Function0<T> factory,
scala.reflect.ClassTag<T> evidence$1,
scala.Predef.$less$colon$less<T,FSM<S,D>> ev,
ActorSystem system)
|
|
static
|
apply(scala.Function0<T> factory,
java.lang.String name,
scala.reflect.ClassTag<T> evidence$2,
scala.Predef.$less$colon$less<T,FSM<S,D>> ev,
ActorSystem system)
|
|
void |
cancelTimer(java.lang.String name)
Proxy for FSM.cancelTimer(java.lang.String). |
|
boolean |
isStateTimerActive()
Proxy for FSM.isStateTimerActive(). |
|
boolean |
isTimerActive(java.lang.String name)
Proxy for FSM.isStateTimerActive(). |
|
void |
setState(S stateName,
D stateData,
scala.concurrent.duration.FiniteDuration timeout,
scala.Option<FSM.Reason> stopReason)
Change FSM state; any value left out defaults to the current FSM state (timeout defaults to None). |
|
void |
setTimer(java.lang.String name,
java.lang.Object msg,
scala.concurrent.duration.FiniteDuration timeout,
boolean repeat)
Proxy for FSM.setTimer(java.lang.String, java.lang.Object, scala.concurrent.duration.FiniteDuration, boolean). |
|
D |
stateData()
Get current state data of this FSM. |
|
S |
stateName()
Get current state name of this FSM. |
|
| Methods inherited from class akka.testkit.TestActorRef |
|---|
apply, apply, apply, apply, apply, apply, apply, create, create, dispatcher, newActorCell, props, randomName, receive, receive, toString, underlyingActor, unwatch, watch |
| Methods inherited from class akka.actor.LocalActorRef |
|---|
actorContext, children, getChild, getParent, getSingleChild, isTerminated, path, provider, restart, resume, sendSystemMessage, start, stop, suspend, underlying, writeReplace |
| Methods inherited from class akka.actor.InternalActorRef |
|---|
isLocal |
| Methods inherited from class akka.actor.ActorRef |
|---|
compareTo, equals, forward, hashCode, noSender, tell |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface akka.actor.LocalRef |
|---|
isLocal |
| Constructor Detail |
|---|
public TestFSMRef(ActorSystem system,
Props props,
ActorRef supervisor,
java.lang.String name,
scala.Predef.$less$colon$less<T,FSM<S,D>> ev)
| Method Detail |
|---|
public static <S,D,T extends Actor> TestFSMRef<S,D,T> apply(scala.Function0<T> factory,
scala.reflect.ClassTag<T> evidence$1,
scala.Predef.$less$colon$less<T,FSM<S,D>> ev,
ActorSystem system)
public static <S,D,T extends Actor> TestFSMRef<S,D,T> apply(scala.Function0<T> factory,
java.lang.String name,
scala.reflect.ClassTag<T> evidence$2,
scala.Predef.$less$colon$less<T,FSM<S,D>> ev,
ActorSystem system)
public S stateName()
public D stateData()
public void setState(S stateName,
D stateData,
scala.concurrent.duration.FiniteDuration timeout,
scala.Option<FSM.Reason> stopReason)
stateName - (undocumented)stateData - (undocumented)timeout - (undocumented)stopReason - (undocumented)
public void setTimer(java.lang.String name,
java.lang.Object msg,
scala.concurrent.duration.FiniteDuration timeout,
boolean repeat)
FSM.setTimer(java.lang.String, java.lang.Object, scala.concurrent.duration.FiniteDuration, boolean).
name - (undocumented)msg - (undocumented)timeout - (undocumented)repeat - (undocumented)public void cancelTimer(java.lang.String name)
FSM.cancelTimer(java.lang.String).
name - (undocumented)public boolean isTimerActive(java.lang.String name)
FSM.isStateTimerActive().
name - (undocumented)
public boolean isStateTimerActive()
FSM.isStateTimerActive().
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||