Files
qt5-legatus-legacy/Lts/Services/AudioVideoManagement/UnitTests/audio_video_handler_impl_test.h
T
2026-08-13 18:33:10 +02:00

71 lines
1.6 KiB
C++
Executable File

/**
* @RDE_HEADER@
* AudioVideoHandlerImplTest
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Fröbel, NLSE, 2018-01-09
*/
#pragma once
#include <AudioVideoManagement/avm_enums.hpp>
#include <QTest>
#include <memory>
namespace AudioVideoManagement
{
class Asset;
class MountingPoint;
class Exercise;
/**
* @author Christian Fröbel
*/
class AudioVideoHandlerImplTest : public QObject
{
Q_OBJECT
public:
AudioVideoHandlerImplTest();
~AudioVideoHandlerImplTest();
private slots:
void init();
void cleanup();
void testAssignCameraVideo();
void testAssignCameraVideoAudioIn();
void testAssignCameraVideoAudioOut();
void testAssignCameraVideoAudioInOut();
void testAssignAnnouncementUnit();
void testAssignBeforeActivation();
void testUnassignCameraVideo();
void testUpdateRemoveAssignedAsset();
void testUpdateAssignedMountingPoint();
void testDeviceDefinitionCameraVideo();
void testDeviceDefinitionCameraAudio();
void testDeviceDefinitionAnnouncementUnit();
private:
void testAssignCameraVideoAudio(const std::string &camProperties, StreamType expectedStreamType);
int m_nextAssetId{0};
int m_nextMpId{0};
std::unique_ptr<Exercise> m_pool;
std::unique_ptr<Exercise> m_exercise;
Asset *m_indoorCam{nullptr};
Asset *m_outdoorCam{nullptr};
Asset *m_announcementUnit{nullptr};
MountingPoint *m_mpIndoor{nullptr};
MountingPoint *m_mpOutdoor{nullptr};
MountingPoint *m_mpAnnouncementUnit{nullptr};
};
} // namespace AudioVideoManagement