use crate::data::market::{Order, OrderType, Side};
use rand::distributions::Uniform;
use rand::Rng;
use std::time::{SystemTime, UNIX_EPOCH};
pub fn randomize_order(side: Side, price: f64, order_type: OrderType) -> Order {
let mut uni_rand = rand::thread_rng();
let now_ts = SystemTime::now();
let since_epoch_ts = now_ts
.duration_since(UNIX_EPOCH)
.expect("Time went backwards")
.as_nanos();
let ms_offset = uni_rand.sample(Uniform::new(1, 30));
let order_ts = since_epoch_ts + ms_offset as u128;
let amount = uni_rand.sample(Uniform::new(0.01, 10.0));
let order_id: u32 = 123;
let order_type = order_type;
Order {
order_id,
order_ts,
order_type,
side,
price,
amount,
}
}