// Simple integration test that verifies basic functionality use engine::{Order, OrderType, Side, TimeInForce, TradingMode}; use chrono::Utc; #[test] fn test_trading_mode_creation() { let backtest_mode = TradingMode::Backtest { start_time: Utc::now(), end_time: Utc::now(), speed_multiplier: 1.0, }; match backtest_mode { TradingMode::Backtest { speed_multiplier, .. } => { assert_eq!(speed_multiplier, 1.0); } _ => panic!("Expected backtest mode"), } let paper_mode = TradingMode::Paper { starting_capital: 100_000.0, }; match paper_mode { TradingMode::Paper { starting_capital } => { assert_eq!(starting_capital, 100_000.0); } _ => panic!("Expected paper mode"), } } #[test] fn test_order_with_limit_price() { let order = Order { id: "limit-order-1".to_string(), symbol: "AAPL".to_string(), side: Side::Buy, quantity: 100.0, order_type: OrderType::Limit { price: 150.0 }, time_in_force: TimeInForce::GTC, }; assert_eq!(order.symbol, "AAPL"); assert_eq!(order.side, Side::Buy); assert_eq!(order.quantity, 100.0); match order.order_type { OrderType::Limit { price } => assert_eq!(price, 150.0), _ => panic!("Expected limit order"), } }