binary_option_tools/
lib.rs1pub mod pocketoption;
2
3#[cfg(test)]
4mod tests {
5 use std::time::Duration;
6
7 use serde::{Deserialize, Serialize};
8 use tokio::time::sleep;
9 use tracing::debug;
10
11 use binary_options_tools_core::utils::tracing::start_tracing;
12 use binary_options_tools_macros::{deserialize, serialize, timeout};
13 #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
14 struct Test {
15 name: String,
16 }
17
18 #[test]
19 fn test_deserialize_macro() {
20 let test = Test {
21 name: "Test".to_string(),
22 };
23 let test_str = serialize!(&test).unwrap();
24 let test2 = deserialize!(Test, &test_str).unwrap();
25 assert_eq!(test, test2)
26 }
27
28 struct Tester;
29
30 #[tokio::test]
31 async fn test_timeout_macro() -> anyhow::Result<()> {
32 start_tracing(true).unwrap();
33
34 #[timeout(1, tracing(level = "info", skip(_tester)))]
35 async fn this_is_a_test(_tester: Tester) -> anyhow::Result<()> {
36 debug!("Test");
37 sleep(Duration::from_secs(0)).await;
38 Ok(())
39 }
40
41 this_is_a_test(Tester).await
42 }
43}