acceptor 0.0.1

no_std bundle of thin acceptors built on the accepts core traits
Documentation
use accepts::{Accepts, AsyncAccepts};

use crate::support::{Recorder, block_on};

use super::{AsyncMap, Map};

#[test]
fn maps_and_forwards_values() {
    let recorder = Recorder::new();
    let mapper = Map::new(|v: u32| v * 2, recorder.clone());

    mapper.accept(3);
    mapper.accept(4);

    assert_eq!(recorder.take(), vec![6, 8]);
}

#[test]
fn maps_asynchronously_and_forwards_values() {
    let recorder = Recorder::new();
    let mapper = AsyncMap::new(|v: u32| async move { v + 1 }, recorder.clone());

    block_on(mapper.accept_async(10));
    block_on(mapper.accept_async(20));

    assert_eq!(recorder.take(), vec![11, 21]);
}