use reaction::optimization::jitter::JitterReducer;
use reaction::optimization::prediction::InputPredictor;
#[test]
fn test_prediction_linear() {
let mut predictor = InputPredictor::new();
predictor.add_sample(0.0, 0.0, 0.0);
predictor.add_sample(10.0, 0.0, 1.0);
let (px, py) = predictor.predict_at(2.0);
assert!((px - 20.0).abs() < 0.001);
assert!((py - 0.0).abs() < 0.001);
}
#[test]
fn test_jitter_smoothing() {
let mut reducer = JitterReducer::new(0.5);
let (x1, _) = reducer.process(10.0, 0.0);
assert_eq!(x1, 10.0);
let (x2, _) = reducer.process(20.0, 0.0);
assert!((x2 - 15.0).abs() < 0.001);
}