/** * @RDE_HEADER@ * AudioVideoHandlerImplTest * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, NLSE, 2018-01-09 */ #pragma once #include #include #include 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 m_pool; std::unique_ptr 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