|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object akka.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 |