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
- Comparable
- AnyRef
- Any
- by scala2ActorRef
- by actorRef2Scala
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Value Members
-    def !(message: Any)(implicit sender: ActorRef = Actor.noSender): UnitSends a one-way asynchronous message. Sends a one-way asynchronous message. E.g. fire-and-forget semantics. If invoked from within an actor then the actor reference is implicitly passed on as the implicit 'sender' argument. This actor 'sender' reference is then available in the receiving actor in the 'sender()' member variable, if invoked from within an Actor. If not then no sender is available. actor ! message - Definition Classes
- LocalActorRef → ScalaActorRef → ActorRef
 
-   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] toany2stringadd[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] toArrowAssoc[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): UnitProxy for akka.actor.FSM#cancelTimer. 
-    def children: Iterable[ActorRef]- Definition Classes
- LocalActorRef → ActorRefWithCell
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
 
-   final  def compareTo(other: ActorRef): IntComparison takes path and the unique id of the actor cell into account. Comparison takes path and the unique id of the actor cell into account. - 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] toEnsuring[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] toEnsuring[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] toEnsuring[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] toEnsuring[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): BooleanEquals takes path and the unique id of the actor cell into account. Equals takes path and the unique id of the actor cell into account. - Definition Classes
- ActorRef → AnyRef → Any
 
-    def forward(message: Any)(implicit context: ActorContext): UnitForwards the message and passes the original sender actor as the sender. Forwards the message and passes the original sender actor as the sender. Works, no matter whether originally sent with tell/'!' or ask/'?'. - Definition Classes
- ActorRef
 
-    def getChild(names: Iterator[String]): InternalActorRefObtain ActorRef by possibly traversing the actor tree or looking it up at some provider-specific location. Obtain ActorRef by possibly traversing the actor tree or looking it up at some provider-specific location. This method shall return the end result, i.e. not only the next step in the look-up; this will typically involve recursive invocation. A path element of ".." signifies the parent, a trailing "" element must be disregarded. If the requested path does not exist, return Nobody. - Definition Classes
- LocalActorRef → InternalActorRef
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
 
-    def getParent: InternalActorRefObtain parent of this ref; used by getChild for ".." paths. Obtain parent of this ref; used by getChild for ".." paths. - Definition Classes
- LocalActorRef → InternalActorRef
 
-    def getSingleChild(name: String): InternalActorRefMethod for looking up a single child beneath this actor. Method for looking up a single child beneath this actor. Override in order to inject “synthetic” actor paths like “/temp”. It is racy if called from the outside. - 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: BooleanProxy for akka.actor.FSM#isStateTimerActive. 
-    def isTimerActive(name: String): BooleanProxy 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
- @HotSpotIntrinsicCandidate() @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
 
-    val path: ActorPathReturns the path for this actor (from this actor up to the root actor). Returns the path for this actor (from this actor up to the root actor). - Definition Classes
- LocalActorRef → ActorRef
 
-    val props: Props- Definition Classes
- TestActorRef
 
-    def provider: ActorRefProviderGet a reference to the actor ref provider which created this ref. Get a reference to the actor ref provider which created this ref. - Definition Classes
- LocalActorRef → InternalActorRef
 
-    def receive(o: Any, sender: ActorRef): UnitDirectly 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): UnitDirectly 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): UnitResumes a suspended actor. Resumes a suspended actor. - 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): UnitChange 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 start(): UnitStarts the actor after initialization. Starts the actor after initialization. - Definition Classes
- LocalActorRef → InternalActorRef
 
-    def startSingleTimer(name: String, msg: Any, delay: FiniteDuration): UnitProxy for akka.actor.FSM#startSingleTimer. 
-    def startTimerAtFixedRate(name: String, msg: Any, interval: FiniteDuration): UnitProxy for akka.actor.FSM#startTimerAtFixedRate. 
-    def startTimerWithFixedDelay(name: String, msg: Any, delay: FiniteDuration): UnitProxy for akka.actor.FSM#startTimerWithFixedDelay. 
-    def stateData: DGet current state data of this FSM. 
-    def stateName: SGet current state name of this FSM. 
-    def stop(): UnitShuts down the actor and its message queue Shuts down the actor and its message queue - Definition Classes
- LocalActorRef → InternalActorRef
 
-    def suspend(): UnitSuspends the actor so that it will not process messages until resumed. Suspends the actor so that it will not process messages until resumed. The suspend request is processed asynchronously to the caller of this method as well as to normal message sends: the only ordering guarantee is that message sends done from the same thread after calling this method will not be processed until resumed. - Definition Classes
- LocalActorRef → InternalActorRef
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-   final  def tell(msg: Any, sender: ActorRef): UnitSends the specified message to this ActorRef, i.e. Sends the specified message to this ActorRef, i.e. fire-and-forget semantics, including the sender reference if possible. Pass akka.actor.ActorRef noSenderornullas sender if there is nobody to reply to- Definition Classes
- ActorRef
 
-    def toString(): String- Definition Classes
- TestActorRef → ActorRef → AnyRef → Any
 
-    def underlying: ActorCell- Definition Classes
- LocalActorRef → ActorRefWithCell
 
-    def underlyingActor: TRetrieve 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): ActorRefUnregisters 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(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-    def watch(subject: ActorRef): ActorRefRegisters 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(classOf[java.io.ObjectStreamException])
 
Shadowed Implicit Value Members
-    def !(message: Any)(implicit sender: ActorRef = Actor.noSender): UnitScala API: Sends a one-way asynchronous message. Scala API: Sends a one-way asynchronous message. E.g. fire-and-forget semantics. If invoked from within an actor then the actor reference is implicitly passed on as the implicit 'sender' argument. This actor 'sender' reference is then available in the receiving actor in the 'sender()' member variable, if invoked from within an Actor. If not then no sender is available. actor ! message - Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toActorRef 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).!(message)(sender) 
- Definition Classes
- ActorRef
 
-    def !(message: Any)(implicit sender: ActorRef = Actor.noSender): UnitSends a one-way asynchronous message. Sends a one-way asynchronous message. E.g. fire-and-forget semantics. If invoked from within an actor then the actor reference is implicitly passed on as the implicit 'sender' argument. This actor 'sender' reference is then available in the receiving actor in the 'sender()' member variable, if invoked from within an Actor. If not then no sender is available. actor ! message - Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toScalaActorRef 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): IntComparison takes path and the unique id of the actor cell into account. Comparison takes path and the unique id of the actor cell into account. - Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toActorRef 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): BooleanEquals takes path and the unique id of the actor cell into account. Equals takes path and the unique id of the actor cell into account. - Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toActorRef 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): UnitForwards the message and passes the original sender actor as the sender. Forwards the message and passes the original sender actor as the sender. Works, no matter whether originally sent with tell/'!' or ask/'?'. - Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toActorRef 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] toActorRef 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: ActorPathReturns the path for this actor (from this actor up to the root actor). Returns the path for this actor (from this actor up to the root actor). - Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toActorRef 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): UnitSends the specified message to this ActorRef, i.e. Sends the specified message to this ActorRef, i.e. fire-and-forget semantics, including the sender reference if possible. Pass akka.actor.ActorRef noSenderornullas sender if there is nobody to reply to- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toActorRef 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] toActorRef 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
 
Deprecated Value Members
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- (Since version 9) 
 
-    def formatted(fmtstr: String): String- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toStringFormat[TestFSMRef[S, D, T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
- (Since version 2.12.16) Use - formatString.format(value)instead of- value.formatted(formatString), or use the- f""string interpolator. In Java 15 and later,- formattedresolves to the new method in String which has reversed parameters.
 
-    def setTimer(name: String, msg: Any, timeout: FiniteDuration, repeat: Boolean = false): UnitProxy for akka.actor.FSM#setTimer. Proxy for akka.actor.FSM#setTimer. - Annotations
- @deprecated
- Deprecated
- (Since version 2.6.0) Use startTimerWithFixedDelay or startTimerAtFixedRate instead. This has the same semantics as startTimerAtFixedRate, but startTimerWithFixedDelay is often preferred. 
 
-    def →[B](y: B): (TestFSMRef[S, D, T], B)- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toArrowAssoc[TestFSMRef[S, D, T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
- (Since version 2.13.0) Use - ->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.