MockActorSequence

Struct MockActorSequence 

Source
pub struct MockActorSequence { /* private fields */ }
Expand description

A mock for a sequence of messages sent to the actor Example:

struct FakeActor;
impl Actor for FakeActor {
    type Context = actix::Context<Self>;
}
struct Msg1;
struct Msg2;
impl Message for Msg1 {
  type Result = i32;
}
impl Message for Msg2 {
  type Result = bool;
}
#[actix_rt::main]
async fn main() {
  let mock_actor = MockActorSequence::new()
    .msg(|_m: &Msg1| 5) // you can access the message sent.
    .msg::<Msg2, _>(|_m| true) // alternate syntax to specify the message type
    .build::<FakeActor>();
  assert_eq!(mock_actor.send(Msg1).await.unwrap(), 5);
  assert_eq!(mock_actor.send(Msg2).await.unwrap(), true);
}

Implementations§

Source§

impl MockActorSequence

Source

pub fn new() -> Self

Source

pub fn msg<Msg, Cb>(self, cb: Cb) -> Self
where Msg: 'static + Message, Cb: FnMut(&Msg) -> Msg::Result + 'static,

Add another message to be expected, and return the result of the callback. The type of the message is checked at runtime against the expectation, and the message itself is passed to the callback so that it can be used to build the result

§Panics

Panics when the received message is not the expected type. This is appropriate for testing since a panic will be a test failure.

Source

pub fn build<A: Actor>(self) -> Addr<Mocker<A>>

Fnalize the sequence and build the actor. Returns an Addr to the actor. Must provide the actor type

Trait Implementations§

Source§

impl Default for MockActorSequence

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.