This repository has been archived on 2026-10-10. You can view files and clone it, but cannot push or open issues or pull requests.
molotov/crates/molotov-core/tests/audio_buffer_test.rs

26 lines
763 B
Rust

// SPDX-License-Identifier: GPL-3.0-or-later
use molotov_core::audio::buffer::AudioRingBuffer;
#[test]
fn test_ring_buffer_write_and_read() {
let mut buffer = AudioRingBuffer::new(1024);
let samples = [0.1f32, 0.2, 0.3, 0.4];
assert_eq!(buffer.write(&samples), 4);
assert_eq!(buffer.available_read(), 4);
let mut out = [0.0f32; 4];
assert_eq!(buffer.read(&mut out), 4);
assert_eq!(out, samples);
assert_eq!(buffer.available_read(), 0);
}
#[test]
fn test_ring_buffer_underrun_fills_silence() {
let mut buffer = AudioRingBuffer::new(1024);
let mut out = [1.0f32; 4];
// Reading from empty buffer returns 0 read, but caller can zero memory
let read_count = buffer.read(&mut out);
assert_eq!(read_count, 0);
}