summaryrefslogtreecommitdiff
path: root/src/tests/common/audio_test_fixture.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/common/audio_test_fixture.h')
-rw-r--r--src/tests/common/audio_test_fixture.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/tests/common/audio_test_fixture.h b/src/tests/common/audio_test_fixture.h
new file mode 100644
index 0000000..328e167
--- /dev/null
+++ b/src/tests/common/audio_test_fixture.h
@@ -0,0 +1,26 @@
+// audio_test_fixture.h - RAII wrapper for AudioEngine lifecycle
+// Simplifies audio test setup and teardown
+
+#pragma once
+#include "audio/audio_engine.h"
+#include "audio/gen.h"
+#include "audio/tracker.h"
+#include "generated/assets.h"
+
+// RAII wrapper for AudioEngine lifecycle
+class AudioTestFixture {
+public:
+ AudioTestFixture(); // Calls engine.init()
+ ~AudioTestFixture(); // Calls engine.shutdown()
+
+ AudioEngine& engine() { return m_engine; }
+
+ // Helper: Load tracker music data
+ void load_music(const TrackerScore* score,
+ const NoteParams* samples,
+ const AssetId* assets,
+ uint32_t count);
+
+private:
+ AudioEngine m_engine;
+};