Interface BehaviorTestKit<T>

  • All Known Implementing Classes:
    BehaviorTestKitImpl

    public interface BehaviorTestKit<T>
    Used for synchronous testing Behaviors. Stores all effects e.g. Spawning of children, watching and offers access to what effects have taken place.

    For asynchronous testing of Behaviors running see ActorTestKit

    Not for user extension. See BehaviorTestKit.apply factory methods

    • Method Detail

      • retrieveEffect

        Effect retrieveEffect()
        Requests the oldest Effect or Effect.NoEffects if no effects have taken place. The effect is consumed, subsequent calls won't will not include this effect.
        Returns:
        (undocumented)
      • childInbox

        <U> TestInbox<U> childInbox​(java.lang.String name)
        Get the child inbox for the child with the given name, or fail if there is no child with the given name spawned
        Parameters:
        name - (undocumented)
        Returns:
        (undocumented)
      • childInbox

        <U> TestInbox<U> childInbox​(ActorRef<U> child)
        Get the child inbox for the child ActorRef, or fail if there is no such child.
        Parameters:
        child - (undocumented)
        Returns:
        (undocumented)
      • selfInbox

        TestInbox<T> selfInbox()
        The self inbox contains messages the behavior sent to context.self
        Returns:
        (undocumented)
      • ref

        ActorRef<T> ref()
        The self reference of the actor living inside this testkit.
        Returns:
        (undocumented)
      • retrieveAllEffects

        scala.collection.immutable.Seq<Effect> retrieveAllEffects()
        Requests all the effects. The effects are consumed, subsequent calls will only see new effects.
        Returns:
        (undocumented)
      • hasEffects

        boolean hasEffects()
        Returns if there have been any effects.
        Returns:
        (undocumented)
      • expectEffect

        void expectEffect​(Effect expectedEffect)
        Asserts that the oldest effect is the expectedEffect. Removing it from further assertions.
        Parameters:
        expectedEffect - (undocumented)
      • expectEffectType

        <E extends Effect> E expectEffectType​(scala.reflect.ClassTag<E> classTag)
        Asserts that the oldest effect is of type T. Consumes and returns the concrete effect for further direct assertions.
        Parameters:
        classTag - (undocumented)
        Returns:
        (undocumented)
      • expectEffectPF

        <R> R expectEffectPF​(scala.PartialFunction<Effect,​R> f)
        Asserts that the oldest effect matches the given partial function.
        Parameters:
        f - (undocumented)
        Returns:
        (undocumented)
      • currentBehavior

        Behavior<T> currentBehavior()
        The current behavior, can change any time run is called
        Returns:
        (undocumented)
      • returnedBehavior

        Behavior<T> returnedBehavior()
        Returns the current behavior as it was returned from processing the previous message. For example if Behavior.unhandled is returned it will be kept here, but not in currentBehavior().
        Returns:
        (undocumented)
      • isAlive

        boolean isAlive()
        Is the current behavior alive or stopped
        Returns:
        (undocumented)
      • run

        void run​(T message)
        Send the message to the behavior and record any Effects
        Parameters:
        message - (undocumented)
      • runOne

        void runOne()
        Send the first message in the selfInbox to the behavior and run it, recording Effects.
      • signal

        void signal​(Signal signal)
        Send the signal to the behavior and record any Effects
        Parameters:
        signal - (undocumented)
      • logEntries

        scala.collection.immutable.Seq<CapturedLogEvent> logEntries()
        Returns all the CapturedLogEvent issued by this behavior(s)
        Returns:
        (undocumented)
      • clearLog

        void clearLog()
        Clear the log entries