summaryrefslogtreecommitdiff
path: root/src/tests/common/effect_test_fixture.h
blob: 3b01370630bffc1e605d6a0161e2ec4a40679de0 (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
29
30
31
32
33
34
// effect_test_fixture.h - Combined WebGPU + AudioEngine + MainSequence fixture
// Simplifies GPU effect test setup

#pragma once
#include "audio_test_fixture.h"
#include "gpu/sequence.h"
#include "webgpu_test_fixture.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;
};