1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#![warn(missing_docs)]
extern crate rand;
pub use message::Message;
pub use misc::{Action, Event, TimeToLive};
pub use node::Node;
pub use node_options::NodeOptions;
mod message;
mod misc;
mod node;
mod node_options;
#[cfg(test)]
mod test {
use super::*;
macro_rules! assert_some {
($e:expr) => {
if let Some(x) = $e {
x
} else {
panic!("{:?} must be `Some(_)`", stringify!($e));
}
};
}
#[test]
fn single_join_works() {
let mut node = Node::new("foo");
node.join("bar");
let action = assert_some!(node.poll_action());
assert_eq!(action, Action::send("bar", Message::join(&"foo")));
assert!(node.poll_action().is_none());
}
}