1#[cfg(test)]
6mod tests {
7 use base::Event;
8
9 use crate::EventTokio;
10
11 #[tokio::test]
12 async fn already_signaled() {
13 let event = Event::new().unwrap();
14 let async_event = EventTokio::new(event.try_clone().unwrap()).unwrap();
15
16 event.signal().unwrap();
17 async_event.wait().await.unwrap();
18 }
19
20 #[tokio::test]
21 async fn signaled_after_delay() {
22 let event = Event::new().unwrap();
23 let async_event = EventTokio::new(event.try_clone().unwrap()).unwrap();
24
25 tokio::spawn(async move {
26 tokio::time::sleep(std::time::Duration::from_millis(1)).await;
27 event.signal().unwrap();
28 });
29 async_event.wait().await.unwrap();
30 }
31}