class TestFSMRef[S, D, T <: Actor] extends TestActorRef[T]
This is a specialized 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 Event("hello", _) => goto(2)
}
when(2) {
case Event("world", _) => goto(1)
}
})
assert (fsm.stateName == 1)
fsm ! "hallo"
assert (fsm.stateName == 2)
assert (fsm.underlyingActor.getLog == IndexedSeq(FSMLogEntry(1, null, "hallo")))
- Source
- TestFSMRef.scala
- Since
1.2
- Alphabetic
- By Inheritance
- TestFSMRef
- TestActorRef
- LocalActorRef
- LocalRef
- ActorRefScope
- ActorRefWithCell
- InternalActorRef
- ScalaActorRef
- ActorRef
- Serializable
- Serializable
- Comparable
- AnyRef
- Any
- by actorRef2Scala
- by scala2ActorRef
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new TestFSMRef(system: ActorSystem, props: Props, supervisor: ActorRef, name: String)(implicit ev: <:<[T, FSM[S, D]])
Value Members
-
def
!(message: Any)(implicit sender: ActorRef): Unit
- Definition Classes
- LocalActorRef → ScalaActorRef
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to any2stringadd[TestFSMRef[S, D, T]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (TestFSMRef[S, D, T], B)
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ArrowAssoc[TestFSMRef[S, D, T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
actorContext: ActorContext
- Attributes
- protected
- Definition Classes
- LocalActorRef
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
cancelTimer(name: String): Unit
Proxy for akka.actor.FSM#cancelTimer.
-
def
children: Iterable[ActorRef]
- Definition Classes
- LocalActorRef → ActorRefWithCell
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
final
def
compareTo(other: ActorRef): Int
- Definition Classes
- ActorRef → Comparable
-
val
dispatcher: MessageDispatcher
- Definition Classes
- TestActorRef
-
def
ensuring(cond: (TestFSMRef[S, D, T]) ⇒ Boolean, msg: ⇒ Any): TestFSMRef[S, D, T]
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to Ensuring[TestFSMRef[S, D, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (TestFSMRef[S, D, T]) ⇒ Boolean): TestFSMRef[S, D, T]
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to Ensuring[TestFSMRef[S, D, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): TestFSMRef[S, D, T]
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to Ensuring[TestFSMRef[S, D, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): TestFSMRef[S, D, T]
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to Ensuring[TestFSMRef[S, D, T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
equals(that: Any): Boolean
- Definition Classes
- ActorRef → AnyRef → Any
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to StringFormat[TestFSMRef[S, D, T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
def
forward(message: Any)(implicit context: ActorContext): Unit
- Definition Classes
- ActorRef
-
def
getChild(names: Iterator[String]): InternalActorRef
- Definition Classes
- LocalActorRef → InternalActorRef
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getParent: InternalActorRef
- Definition Classes
- LocalActorRef → InternalActorRef
-
def
getSingleChild(name: String): InternalActorRef
- Definition Classes
- LocalActorRef → ActorRefWithCell
-
final
def
hashCode(): Int
- Definition Classes
- ActorRef → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
isLocal: Boolean
- Definition Classes
- LocalRef → ActorRefScope
-
def
isStateTimerActive: Boolean
Proxy for akka.actor.FSM#isStateTimerActive.
-
def
isTimerActive(name: String): Boolean
Proxy for akka.actor.FSM#isStateTimerActive.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newActorCell(system: ActorSystemImpl, ref: InternalActorRef, props: Props, dispatcher: MessageDispatcher, supervisor: InternalActorRef): ActorCell
- Attributes
- protected
- Definition Classes
- TestActorRef → LocalActorRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
val
path: ActorPath
- Definition Classes
- LocalActorRef → ActorRef
-
val
props: Props
- Definition Classes
- TestActorRef
-
def
provider: ActorRefProvider
- Definition Classes
- LocalActorRef → InternalActorRef
-
def
receive(o: Any, sender: ActorRef): Unit
Directly inject messages into actor receive behavior.
Directly inject messages into actor receive behavior. Any exceptions thrown will be available to you, while still being able to use become/unbecome.
- Definition Classes
- TestActorRef
-
def
receive(o: Any): Unit
Directly inject messages into actor receive behavior.
Directly inject messages into actor receive behavior. Any exceptions thrown will be available to you, while still being able to use become/unbecome.
- Definition Classes
- TestActorRef
-
def
restart(cause: Throwable): Unit
- Definition Classes
- LocalActorRef → InternalActorRef
-
def
resume(causedByFailure: Throwable): Unit
- Definition Classes
- LocalActorRef → InternalActorRef
-
def
sendSystemMessage(message: SystemMessage): Unit
- Definition Classes
- LocalActorRef → InternalActorRef
-
def
setState(stateName: S = fsm.stateName, stateData: D = fsm.stateData, timeout: FiniteDuration = null, stopReason: Option[Reason] = None): Unit
Change FSM state; any value left out defaults to the current FSM state (timeout defaults to None).
Change FSM state; any value left out defaults to the current FSM state (timeout defaults to None). This method is directly equivalent to a corresponding transition initiated from within the FSM, including timeout and stop handling.
-
def
setTimer(name: String, msg: Any, timeout: FiniteDuration, repeat: Boolean = false): Unit
Proxy for akka.actor.FSM#setTimer.
-
def
start(): Unit
- Definition Classes
- LocalActorRef → InternalActorRef
-
def
stateData: D
Get current state data of this FSM.
-
def
stateName: S
Get current state name of this FSM.
-
def
stop(): Unit
- Definition Classes
- LocalActorRef → InternalActorRef
-
def
suspend(): Unit
- Definition Classes
- LocalActorRef → InternalActorRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
tell(msg: Any, sender: ActorRef): Unit
- Definition Classes
- ActorRef
-
def
toString(): String
- Definition Classes
- TestActorRef → ActorRef → AnyRef → Any
-
def
underlying: ActorCell
- Definition Classes
- LocalActorRef → ActorRefWithCell
-
def
underlyingActor: T
Retrieve reference to the underlying actor, where the static type matches the factory used inside the constructor.
Retrieve reference to the underlying actor, where the static type matches the factory used inside the constructor. Beware that this reference is discarded by the ActorRef upon restarting the actor (should this reference be linked to a supervisor). The old Actor may of course still be used in post-mortem assertions.
- Definition Classes
- TestActorRef
-
def
unwatch(subject: ActorRef): ActorRef
Unregisters this actor from being a death monitor of the provided ActorRef This means that this actor will not get a Terminated()-message when the provided actor is permanently terminated.
Unregisters this actor from being a death monitor of the provided ActorRef This means that this actor will not get a Terminated()-message when the provided actor is permanently terminated.
- returns
the same ActorRef that is provided to it, to allow for cleaner invocations
- Definition Classes
- TestActorRef
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
watch(subject: ActorRef): ActorRef
Registers this actor to be a death monitor of the provided ActorRef This means that this actor will get a Terminated()-message when the provided actor is permanently terminated.
Registers this actor to be a death monitor of the provided ActorRef This means that this actor will get a Terminated()-message when the provided actor is permanently terminated.
- returns
the same ActorRef that is provided to it, to allow for cleaner invocations
- Definition Classes
- TestActorRef
-
def
writeReplace(): AnyRef
- Attributes
- protected
- Definition Classes
- LocalActorRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (TestFSMRef[S, D, T], B)
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ArrowAssoc[TestFSMRef[S, D, T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Shadowed Implicit Value Members
-
def
!(message: Any)(implicit sender: ActorRef): Unit
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ScalaActorRef performed by method actorRef2Scala in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ScalaActorRef).!(message)(sender)
- Definition Classes
- ScalaActorRef
-
final
def
compareTo(other: ActorRef): Int
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ActorRef performed by method scala2ActorRef in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ActorRef).compareTo(other)
- Definition Classes
- ActorRef → Comparable
-
final
def
equals(that: Any): Boolean
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ActorRef performed by method scala2ActorRef in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ActorRef).equals(that)
- Definition Classes
- ActorRef → AnyRef → Any
-
def
forward(message: Any)(implicit context: ActorContext): Unit
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ActorRef performed by method scala2ActorRef in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ActorRef).forward(message)(context)
- Definition Classes
- ActorRef
-
final
def
hashCode(): Int
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ActorRef performed by method scala2ActorRef in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ActorRef).hashCode()
- Definition Classes
- ActorRef → AnyRef → Any
-
def
path: ActorPath
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ActorRef performed by method scala2ActorRef in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ActorRef).path
- Definition Classes
- ActorRef
-
final
def
tell(msg: Any, sender: ActorRef): Unit
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ActorRef performed by method scala2ActorRef in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ActorRef).tell(msg, sender)
- Definition Classes
- ActorRef
-
def
toString(): String
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] to ActorRef performed by method scala2ActorRef in akka.actor.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(testFSMRef: ActorRef).toString()
- Definition Classes
- ActorRef → AnyRef → Any