mode_test/
mode_test.rs

1use kiteticker_async_manager::{Mode, Request};
2
3fn main() {
4  println!("🔍 KiteTicker Mode Serialization Test");
5  println!("═══════════════════════════════════════");
6
7  // Test different subscription requests to verify JSON format
8  let tokens = vec![256265, 265, 256777];
9
10  // 1. Test subscribe request
11  let subscribe_req = Request::subscribe(tokens.clone());
12  println!("📡 Subscribe request JSON:");
13  println!("{}", subscribe_req);
14  println!();
15
16  // 2. Test unsubscribe request
17  let unsubscribe_req = Request::unsubscribe(tokens.clone());
18  println!("📡 Unsubscribe request JSON:");
19  println!("{}", unsubscribe_req);
20  println!();
21
22  // 3. Test mode requests with different modes
23  let modes = [Mode::LTP, Mode::Quote, Mode::Full];
24  let mode_names = ["LTP", "Quote", "Full"];
25
26  for (mode, name) in modes.iter().zip(mode_names.iter()) {
27    let mode_req = Request::mode(*mode, tokens.clone());
28    println!(
29      "🎯 Mode request for {} ({}): JSON:",
30      name,
31      mode.to_websocket_string()
32    );
33    println!("{}", mode_req);
34    println!();
35  }
36
37  // 4. Test individual mode string conversion
38  println!("🔧 Mode to WebSocket string conversion:");
39  for (mode, name) in modes.iter().zip(mode_names.iter()) {
40    println!("   {} -> \"{}\"", name, mode.to_websocket_string());
41  }
42
43  println!("✅ All mode serialization tests completed!");
44}