// SPDX-License-Identifier: GPL-3.0-or-later use molotov_core::input::haptics::RumbleManager; #[test] fn test_rumble_actuation_and_clamping() { let mut manager = RumbleManager::new(); let pad_id = 1; // Actuate rumble: low_freq = 0.5 (32767), high_freq = 1.0 (65535), duration = 250ms manager.rumble(pad_id, 0.5, 1.0, 250); let state = manager.get_state(pad_id).expect("Should have rumble state"); assert_eq!(state.low_freq_motor, 32767); assert_eq!(state.high_freq_motor, 65535); assert_eq!(state.duration_ms, 250); // Stop rumble manager.stop(pad_id); let stopped = manager.get_state(pad_id).expect("Should have rumble state"); assert_eq!(stopped.low_freq_motor, 0); assert_eq!(stopped.high_freq_motor, 0); }