Merge branch 'gemini/mixer-edge-tests': mixer edge-case unit tests

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 05:57:40 -04:00
co-authored by Claude Opus 4.8
+38
View File
@@ -892,4 +892,42 @@ mod tests {
let level = frame_level(&full); let level = frame_level(&full);
assert!(level > 0.99 && level <= 1.0, "full-scale level was {level}"); assert!(level > 0.99 && level <= 1.0, "full-scale level was {level}");
} }
#[test]
fn volume_truncates_toward_zero() {
let mut frame = vec![3, -3, 5, -5];
apply_volume(&mut frame, 0.5);
assert_eq!(frame, vec![1, -1, 2, -2]);
}
#[test]
fn volume_amplifies_without_saturating() {
let mut frame = vec![1000, -1000];
apply_volume(&mut frame, 2.0);
assert_eq!(frame, vec![2000, -2000]);
}
#[test]
fn three_peers_sum_without_saturation() {
let a = vec![10, 20];
let b = vec![3, 4];
let c = vec![100, -50];
let mixed = mix_frames(&[a, b, c], 2);
assert_eq!(mixed, vec![113, -26]);
}
#[test]
fn mix_zero_pads_output_longer_than_peer_frames() {
let a = vec![100, 200];
let mixed = mix_frames(&[a], 4);
assert_eq!(mixed, vec![100, 200, 0, 0]);
}
#[test]
fn frame_level_mid_range() {
let frame = vec![16384; 64];
let level = frame_level(&frame);
assert!((level - 0.5).abs() < 1e-3, "mid-range level was {level}");
}
} }