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): Unit
Sends 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): Unit
Proxy 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): Int
Comparison 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): Boolean
Equals 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): Unit
Forwards 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]): InternalActorRef
Obtain 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: InternalActorRef
Obtain 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): InternalActorRef
Method 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: 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
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- val path: ActorPath
Returns 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: ActorRefProvider
Get 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): 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
Resumes 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): 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 start(): Unit
Starts the actor after initialization.
Starts the actor after initialization.
- Definition Classes
- LocalActorRef → InternalActorRef
- def startSingleTimer(name: String, msg: Any, delay: FiniteDuration): Unit
Proxy for akka.actor.FSM#startSingleTimer.
- def startTimerAtFixedRate(name: String, msg: Any, interval: FiniteDuration): Unit
Proxy for akka.actor.FSM#startTimerAtFixedRate.
- def startTimerWithFixedDelay(name: String, msg: Any, delay: FiniteDuration): Unit
Proxy for akka.actor.FSM#startTimerWithFixedDelay.
- def stateData: D
Get current state data of this FSM.
- def stateName: S
Get current state name of this FSM.
- def stop(): Unit
Shuts down the actor and its message queue
Shuts down the actor and its message queue
- Definition Classes
- LocalActorRef → InternalActorRef
- def suspend(): Unit
Suspends 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): Unit
Sends 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
noSender
ornull
as 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: 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(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): 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(classOf[java.io.ObjectStreamException])
Shadowed Implicit Value Members
- def !(message: Any)(implicit sender: ActorRef = Actor.noSender): Unit
Scala 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): Unit
Sends 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): Int
Comparison 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): Boolean
Equals 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): Unit
Forwards 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: ActorPath
Returns 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): Unit
Sends 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
noSender
ornull
as 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 ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def setTimer(name: String, msg: Any, timeout: FiniteDuration, repeat: Boolean = false): Unit
Proxy 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.