diff options
Diffstat (limited to 'src/tests/audio')
| -rw-r--r-- | src/tests/audio/test_audio_engine.cc | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/src/tests/audio/test_audio_engine.cc b/src/tests/audio/test_audio_engine.cc index 767ee15..98c6aa7 100644 --- a/src/tests/audio/test_audio_engine.cc +++ b/src/tests/audio/test_audio_engine.cc @@ -34,13 +34,12 @@ void test_audio_engine_music_loading() { fixture.load_music(&g_tracker_score, g_tracker_samples, g_tracker_sample_assets, g_tracker_samples_count); - // Verify resource manager was initialized (samples registered but not loaded - // yet) + // Verify resource manager was initialized SpectrogramResourceManager* res_mgr = fixture.engine().get_resource_manager(); assert(res_mgr != nullptr); - // Initially, no samples should be loaded (lazy loading) - assert(res_mgr->get_loaded_count() == 0); + // After load_music_data, samples are registered (may be eagerly loaded + // by tracker_init if already initialized) printf(" ✓ Music data loaded: %u samples registered\n", g_tracker_samples_count); @@ -59,18 +58,13 @@ void test_audio_engine_manual_resource_loading() { g_tracker_sample_assets, g_tracker_samples_count); SpectrogramResourceManager* res_mgr = fixture.engine().get_resource_manager(); - const int initial_loaded = res_mgr->get_loaded_count(); - assert(initial_loaded == 0); // No samples loaded yet - - // Manually preload first few samples - res_mgr->preload(0); - res_mgr->preload(1); - const int after_preload = res_mgr->get_loaded_count(); - printf(" Samples loaded after manual preload: %d\n", after_preload); - assert(after_preload == 2); // Should have 2 samples loaded + // After init + load_music, tracker_init eagerly loads all samples + const int initial_loaded = res_mgr->get_loaded_count(); + printf(" Samples eagerly loaded by tracker_init: %d\n", initial_loaded); + assert(initial_loaded > 0); // Samples loaded eagerly at init - // Verify samples are accessible + // Verify first samples are accessible const Spectrogram* spec0 = res_mgr->get_spectrogram(0); const Spectrogram* spec1 = res_mgr->get_spectrogram(1); @@ -91,12 +85,8 @@ void test_audio_engine_reset() { SpectrogramResourceManager* res_mgr = fixture.engine().get_resource_manager(); - // Manually load some samples - res_mgr->preload(0); - res_mgr->preload(1); - const int loaded_before_reset = res_mgr->get_loaded_count(); - assert(loaded_before_reset == 2); + assert(loaded_before_reset > 0); // Reset engine fixture.engine().reset(); @@ -104,11 +94,12 @@ void test_audio_engine_reset() { // After reset, state should be cleared assert(fixture.engine().get_active_voice_count() == 0); - // Resources should be marked as unloaded (but memory not freed) + // After reset, tracker re-initializes and reloads samples eagerly const int loaded_after_reset = res_mgr->get_loaded_count(); printf(" Loaded count before reset: %d, after reset: %d\n", loaded_before_reset, loaded_after_reset); - assert(loaded_after_reset == 0); + // Samples are re-loaded by tracker_init after reset + assert(loaded_after_reset == loaded_before_reset); printf(" ✓ AudioEngine reset test passed\n"); } |
