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
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TestFSMRef
  2. TestActorRef
  3. LocalActorRef
  4. LocalRef
  5. ActorRefScope
  6. ActorRefWithCell
  7. InternalActorRef
  8. ScalaActorRef
  9. ActorRef
  10. Serializable
  11. Comparable
  12. AnyRef
  13. Any
Implicitly
  1. by scala2ActorRef
  2. by actorRef2Scala
  3. by any2stringadd
  4. by StringFormat
  5. by Ensuring
  6. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new TestFSMRef(system: ActorSystem, props: Props, supervisor: ActorRef, name: String)(implicit ev: <:<[T, FSM[S, D]])

Value Members

  1. def !(message: Any)(implicit sender: ActorRef): Unit
    Definition Classes
    LocalActorRef → ScalaActorRef → ActorRef
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##: Int
    Definition Classes
    AnyRef → Any
  4. 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
  5. 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()
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def actorContext: ActorContext
    Attributes
    protected
    Definition Classes
    LocalActorRef
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def cancelTimer(name: String): Unit

    Proxy for pekko.actor.FSM#cancelTimer.

  10. def children: Iterable[ActorRef]
    Definition Classes
    LocalActorRef → ActorRefWithCell
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  12. final def compareTo(other: ActorRef): Int
    Definition Classes
    ActorRef → Comparable
  13. val dispatcher: MessageDispatcher
    Definition Classes
    TestActorRef
  14. 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
  15. 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
  16. 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
  17. 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
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def equals(that: Any): Boolean
    Definition Classes
    ActorRef → AnyRef → Any
  20. def forward(message: Any)(implicit context: ActorContext): Unit
    Definition Classes
    ActorRef
  21. def getChild(names: Iterator[String]): InternalActorRef
    Definition Classes
    LocalActorRef → InternalActorRef
  22. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  23. def getParent: InternalActorRef
    Definition Classes
    LocalActorRef → InternalActorRef
  24. def getSingleChild(name: String): InternalActorRef
    Definition Classes
    LocalActorRef → ActorRefWithCell
  25. final def hashCode(): Int
    Definition Classes
    ActorRef → AnyRef → Any
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. final def isLocal: Boolean
    Definition Classes
    LocalRef → ActorRefScope
  28. def isStateTimerActive: Boolean

    Proxy for pekko.actor.FSM#isStateTimerActive.

  29. def isTimerActive(name: String): Boolean

    Proxy for pekko.actor.FSM#isStateTimerActive.

  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. def newActorCell(system: ActorSystemImpl, ref: InternalActorRef, props: Props, dispatcher: MessageDispatcher, supervisor: InternalActorRef): ActorCell
    Attributes
    protected
    Definition Classes
    TestActorRef → LocalActorRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  34. val path: ActorPath
    Definition Classes
    LocalActorRef → ActorRef
  35. val props: Props
    Definition Classes
    TestActorRef
  36. def provider: ActorRefProvider
    Definition Classes
    LocalActorRef → InternalActorRef
  37. 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
  38. 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
  39. def restart(cause: Throwable): Unit
    Definition Classes
    LocalActorRef → InternalActorRef
  40. def resume(causedByFailure: Throwable): Unit
    Definition Classes
    LocalActorRef → InternalActorRef
  41. def sendSystemMessage(message: SystemMessage): Unit
    Definition Classes
    LocalActorRef → InternalActorRef
  42. 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.

  43. def start(): Unit
    Definition Classes
    LocalActorRef → InternalActorRef
  44. def startSingleTimer(name: String, msg: Any, delay: FiniteDuration): Unit

    Proxy for pekko.actor.FSM#startSingleTimer.

  45. def startTimerAtFixedRate(name: String, msg: Any, interval: FiniteDuration): Unit

    Proxy for pekko.actor.FSM#startTimerAtFixedRate.

  46. def startTimerWithFixedDelay(name: String, msg: Any, delay: FiniteDuration): Unit

    Proxy for pekko.actor.FSM#startTimerWithFixedDelay.

  47. def stateData: D

    Get current state data of this FSM.

  48. def stateName: S

    Get current state name of this FSM.

  49. def stop(): Unit
    Definition Classes
    LocalActorRef → InternalActorRef
  50. def suspend(): Unit
    Definition Classes
    LocalActorRef → InternalActorRef
  51. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  52. final def tell(msg: Any, sender: ActorRef): Unit
    Definition Classes
    ActorRef
  53. def toString(): String
    Definition Classes
    TestActorRef → ActorRef → AnyRef → Any
  54. def underlying: ActorCell
    Definition Classes
    LocalActorRef → ActorRefWithCell
  55. 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
  56. 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
  57. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  58. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  59. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  60. 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
  61. def writeReplace(): AnyRef
    Attributes
    protected
    Definition Classes
    LocalActorRef
    Annotations
    @throws(classOf[java.io.ObjectStreamException])

Shadowed Implicit Value Members

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. 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, formatted resolves to the new method in String which has reversed parameters.

  3. def setTimer(name: String, msg: Any, timeout: FiniteDuration, repeat: Boolean = false): Unit

    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.

  4. 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.

Inherited from TestActorRef[T]

Inherited from LocalActorRef

Inherited from LocalRef

Inherited from ActorRefScope

Inherited from ActorRefWithCell

Inherited from InternalActorRef

Inherited from ScalaActorRef

Inherited from ActorRef

Inherited from Serializable

Inherited from Comparable[ActorRef]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion scala2ActorRef fromTestFSMRef[S, D, T] to ActorRef

Inherited by implicit conversion actorRef2Scala fromTestFSMRef[S, D, T] to ScalaActorRef

Inherited by implicit conversion any2stringadd fromTestFSMRef[S, D, T] to any2stringadd[TestFSMRef[S, D, T]]

Inherited by implicit conversion StringFormat fromTestFSMRef[S, D, T] to StringFormat[TestFSMRef[S, D, T]]

Inherited by implicit conversion Ensuring fromTestFSMRef[S, D, T] to Ensuring[TestFSMRef[S, D, T]]

Inherited by implicit conversion ArrowAssoc fromTestFSMRef[S, D, T] to ArrowAssoc[TestFSMRef[S, D, T]]

Ungrouped