diff options
Diffstat (limited to 'src/tests/test_tracker_timing.cc')
| -rw-r--r-- | src/tests/test_tracker_timing.cc | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/src/tests/test_tracker_timing.cc b/src/tests/test_tracker_timing.cc index a279c8e..9f15197 100644 --- a/src/tests/test_tracker_timing.cc +++ b/src/tests/test_tracker_timing.cc @@ -13,6 +13,12 @@ #if !defined(STRIP_ALL) +// Helper: Setup audio engine for testing +static void setup_audio_test(MockAudioBackend& backend, AudioEngine& engine) { + audio_set_backend(&backend); + engine.init(); +} + // Helper: Check if a timestamp exists in events within tolerance static bool has_event_at_time(const std::vector<VoiceTriggerEvent>& events, float expected_time, float tolerance = 0.001f) { @@ -60,23 +66,16 @@ void test_basic_event_recording() { printf("Test: Basic event recording with mock backend...\n"); MockAudioBackend backend; - audio_set_backend(&backend); - AudioEngine engine; - engine.init(); + setup_audio_test(backend, engine); - // Trigger at t=0.0 (should trigger initial patterns) engine.update(0.0f, 0.0f); - const auto& events = backend.get_events(); printf(" Events triggered at t=0.0: %zu\n", events.size()); - // Verify we got some events assert(events.size() > 0); - - // All events at t=0 should have timestamp near 0 for (const auto& evt : events) { - assert(evt.timestamp_sec < 0.1f); // Within 100ms of start + assert(evt.timestamp_sec < 0.1f); } engine.shutdown(); @@ -87,27 +86,21 @@ void test_progressive_triggering() { printf("Test: Progressive pattern triggering...\n"); MockAudioBackend backend; - audio_set_backend(&backend); - AudioEngine engine; - engine.init(); + setup_audio_test(backend, engine); - // Update at t=0 engine.update(0.0f, 0.0f); const size_t events_at_0 = backend.get_events().size(); printf(" Events at t=0.0: %zu\n", events_at_0); - // Update at t=1.0 engine.update(1.0f, 0.0f); const size_t events_at_1 = backend.get_events().size(); printf(" Events at t=1.0: %zu\n", events_at_1); - // Update at t=2.0 engine.update(2.0f, 0.0f); const size_t events_at_2 = backend.get_events().size(); printf(" Events at t=2.0: %zu\n", events_at_2); - // Events should accumulate (or at least not decrease) assert(events_at_1 >= events_at_0); assert(events_at_2 >= events_at_1); @@ -119,12 +112,9 @@ void test_simultaneous_triggers() { printf("Test: SIMULTANEOUS pattern triggers at same time...\n"); MockAudioBackend backend; - audio_set_backend(&backend); - AudioEngine engine; - engine.init(); + setup_audio_test(backend, engine); - // Clear and update to first trigger point backend.clear_events(); engine.update(0.0f, 0.0f); @@ -167,12 +157,9 @@ void test_timing_monotonicity() { printf("Test: Event timestamps are monotonically increasing...\n"); MockAudioBackend backend; - audio_set_backend(&backend); - AudioEngine engine; - engine.init(); + setup_audio_test(backend, engine); - // Update through several time points for (float t = 0.0f; t <= 5.0f; t += 0.5f) { engine.update(t, 0.5f); } |
