summaryrefslogtreecommitdiff
path: root/src/tests/common/effect_test_fixture.h
blob: 399b5ed8cfe94c06e334f07bde7550b14a0d5ace (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// effect_test_fixture.h - Combined WebGPU + AudioEngine + MainSequence fixture
// Simplifies GPU effect test setup

#pragma once
#include "webgpu_test_fixture.h"
#include "audio_test_fixture.h"
#include "gpu/sequence.h"

// Combined WebGPU + AudioEngine + MainSequence fixture
class EffectTestFixture {
public:
  EffectTestFixture();
  ~EffectTestFixture();

  // Returns false if GPU unavailable (test should skip)
  bool init();

  // Accessors
  GpuContext ctx() const { return m_gpu.ctx(); }
  MainSequence& sequence() { return m_sequence; }
  AudioEngine& audio() { return m_audio.engine(); }

private:
  WebGPUTestFixture m_gpu;
  AudioTestFixture m_audio;
  MainSequence m_sequence;
  bool m_initialized = false;
};