Skip to main content

assert_audio_unit_data

Macro assert_audio_unit_data 

Source
macro_rules! assert_audio_unit_data {
    ($unit:expr, $assertions:expr) => { ... };
    ($unit:expr, $input:expr => $assertions:expr) => { ... };
    ($unit:expr, $input:expr, $config:expr => $assertions:expr) => { ... };
}
Expand description

Assert over raw processed data instead of rendering SVG/WAV snapshots.

This is useful for nondeterministic units where users want to validate shape/range/statistical invariants directly on sample buffers.

ยงUsage

use fundsp::prelude::*;
use insta_fun::prelude::*;

assert_audio_unit_data!(sine_hz::<f32>(440.0), |data: &AudioUnitSnapshotData| {
    assert_eq!(data.output_data.len(), 1);
    assert_eq!(data.output_data[0].len(), data.num_samples);
});

assert_audio_unit_data!(
    lowpass_hz(1000.0, 0.7),
    InputSource::impulse() => |data: &AudioUnitSnapshotData| {
        assert_eq!(data.input_data.len(), 1);
    }
);