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
- 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): Unit
- 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 pekko.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
- 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
- Definition Classes
- ActorRef → AnyRef → Any
- 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[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- 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 pekko.actor.FSM#isStateTimerActive.
- def isTimerActive(name: String): Boolean
Proxy for pekko.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
- 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 start(): Unit
- Definition Classes
- LocalActorRef → InternalActorRef
- def startSingleTimer(name: String, msg: Any, delay: FiniteDuration): Unit
Proxy for pekko.actor.FSM#startSingleTimer.
- def startTimerAtFixedRate(name: String, msg: Any, interval: FiniteDuration): Unit
Proxy for pekko.actor.FSM#startTimerAtFixedRate.
- def startTimerWithFixedDelay(name: String, msg: Any, delay: FiniteDuration): Unit
Proxy for pekko.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
- 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(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): Unit
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toActorRef performed by method scala2ActorRef in org.apache.pekko.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): Unit
- Implicit
- This member is added by an implicit conversion from TestFSMRef[S, D, T] toScalaActorRef performed by method actorRef2Scala in org.apache.pekko.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] toActorRef performed by method scala2ActorRef in org.apache.pekko.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] toActorRef performed by method scala2ActorRef in org.apache.pekko.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] toActorRef performed by method scala2ActorRef in org.apache.pekko.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 org.apache.pekko.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] toActorRef performed by method scala2ActorRef in org.apache.pekko.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] toActorRef performed by method scala2ActorRef in org.apache.pekko.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 org.apache.pekko.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,formattedresolves to the new method in String which has reversed parameters.
- def setTimer(name: String, msg: Any, timeout: FiniteDuration, repeat: Boolean = false): Unit
Proxy for pekko.actor.FSM#setTimer.
Proxy for pekko.actor.FSM#setTimer.
- Annotations
- @deprecated
- Deprecated
(Since version Akka 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.