use kiteticker_async_manager::{Mode, Request};
fn main() {
println!("🔍 KiteTicker Mode Serialization Test");
println!("═══════════════════════════════════════");
let tokens = vec![256265, 265, 256777];
let subscribe_req = Request::subscribe(&tokens);
println!("📡 Subscribe request JSON:");
println!("{}", subscribe_req);
println!();
let unsubscribe_req = Request::unsubscribe(&tokens);
println!("📡 Unsubscribe request JSON:");
println!("{}", unsubscribe_req);
println!();
let modes = [Mode::LTP, Mode::Quote, Mode::Full];
let mode_names = ["LTP", "Quote", "Full"];
for (mode, name) in modes.iter().zip(mode_names.iter()) {
let mode_req = Request::mode(*mode, &tokens);
println!(
"🎯 Mode request for {} ({}): JSON:",
name,
mode.to_websocket_string()
);
println!("{}", mode_req);
println!();
}
println!("🔧 Mode to WebSocket string conversion:");
for (mode, name) in modes.iter().zip(mode_names.iter()) {
println!(" {} -> \"{}\"", name, mode.to_websocket_string());
}
println!("✅ All mode serialization tests completed!");
}