Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::test_helpers::ProjectTestFixture Class Reference

Shared test fixture providing a minimal project environment (temp directory, mock hardware, settings, port/param registries, fader, metronome) and a create_minimal_project() factory. More...

#include <tests/helpers/project_fixture.h>

Inheritance diagram for zrythm::test_helpers::ProjectTestFixture:
Collaboration diagram for zrythm::test_helpers::ProjectTestFixture:

Protected Member Functions

void SetUp () override
void TearDown () override
std::unique_ptr< structure::project::Projectcreate_minimal_project ()
Protected Member Functions inherited from zrythm::test_helpers::ScopedJuceQApplication
 ScopedJuceQApplication (const ScopedJuceQApplication &)=delete
ScopedJuceQApplication & operator= (const ScopedJuceQApplication &)=delete
 ScopedJuceQApplication (ScopedJuceQApplication &&)=delete
ScopedJuceQApplication & operator= (ScopedJuceQApplication &&)=delete

Protected Attributes

std::unique_ptr< QTemporaryDir > temp_dir_obj_
std::filesystem::path project_dir_
std::unique_ptr< dsp::IHardwareAudioInterfacehw_interface_
std::shared_ptr< juce::AudioPluginFormatManager > plugin_format_manager_
MockSettingsBackendmock_backend_ptr_ {}
std::unique_ptr< utils::AppSettingsapp_settings_
std::unique_ptr< dsp::PortRegistry > port_registry_
std::unique_ptr< dsp::ProcessorParameterRegistryparam_registry_
utils::QObjectUniquePtr< dsp::Fadermonitor_fader_
utils::QObjectUniquePtr< dsp::Metronomemetronome_

Detailed Description

Shared test fixture providing a minimal project environment (temp directory, mock hardware, settings, port/param registries, fader, metronome) and a create_minimal_project() factory.

Definition at line 29 of file project_fixture.h.

Member Function Documentation

◆ create_minimal_project()

std::unique_ptr< structure::project::Project > zrythm::test_helpers::ProjectTestFixture::create_minimal_project ( )
inlineprotected

Definition at line 87 of file project_fixture.h.

◆ SetUp()

void zrythm::test_helpers::ProjectTestFixture::SetUp ( )
inlineoverrideprotected

Definition at line 32 of file project_fixture.h.

◆ TearDown()

void zrythm::test_helpers::ProjectTestFixture::TearDown ( )
inlineoverrideprotected

Definition at line 76 of file project_fixture.h.

Field Documentation

◆ app_settings_

std::unique_ptr<utils::AppSettings> zrythm::test_helpers::ProjectTestFixture::app_settings_
protected

Definition at line 110 of file project_fixture.h.

◆ hw_interface_

std::unique_ptr<dsp::IHardwareAudioInterface> zrythm::test_helpers::ProjectTestFixture::hw_interface_
protected

Definition at line 107 of file project_fixture.h.

◆ metronome_

utils::QObjectUniquePtr<dsp::Metronome> zrythm::test_helpers::ProjectTestFixture::metronome_
protected

Definition at line 114 of file project_fixture.h.

◆ mock_backend_ptr_

MockSettingsBackend* zrythm::test_helpers::ProjectTestFixture::mock_backend_ptr_ {}
protected

Definition at line 109 of file project_fixture.h.

◆ monitor_fader_

utils::QObjectUniquePtr<dsp::Fader> zrythm::test_helpers::ProjectTestFixture::monitor_fader_
protected

Definition at line 113 of file project_fixture.h.

◆ param_registry_

std::unique_ptr<dsp::ProcessorParameterRegistry> zrythm::test_helpers::ProjectTestFixture::param_registry_
protected

Definition at line 112 of file project_fixture.h.

◆ plugin_format_manager_

std::shared_ptr<juce::AudioPluginFormatManager> zrythm::test_helpers::ProjectTestFixture::plugin_format_manager_
protected

Definition at line 108 of file project_fixture.h.

◆ port_registry_

std::unique_ptr<dsp::PortRegistry> zrythm::test_helpers::ProjectTestFixture::port_registry_
protected

Definition at line 111 of file project_fixture.h.

◆ project_dir_

std::filesystem::path zrythm::test_helpers::ProjectTestFixture::project_dir_
protected

Definition at line 106 of file project_fixture.h.

◆ temp_dir_obj_

std::unique_ptr<QTemporaryDir> zrythm::test_helpers::ProjectTestFixture::temp_dir_obj_
protected

Definition at line 105 of file project_fixture.h.


The documentation for this class was generated from the following file: