Files
2026-08-13 18:33:10 +02:00

79 lines
2.6 KiB
C++
Executable File

/**
* @RDE_HEADER@
*
* $Id$
* $HeadURL$
* $Author$
*
* Created by Gerlinde Rudolphus, SLSE, 2017-10-20
*/
#pragma once
#include <AudioVideoManagement/avm_ftc.h>
#include <AudioVideoManagement/avm_ftc_types.h>
#include <AudioVideoManagement/avm_dtc.h>
#include <DDS/DDSConnector/dds_connector.h>
#include <QObject>
#include <QVector>
namespace AudioVideoManagement
{
/**
* @author Astrid Mueller, Christian Fröbel
*/
class AvmVcaTests : public QObject
, protected Interface::Ftc::ModifyCnrTvcProfileReplyHandler
, protected Interface::Ftc::RemoveCnrTvcProfileReplyHandler
, protected Interface::Ftc::ModifyTvcConfigReplyHandler
, protected Interface::Ftc::ModifyCnrConfigReplyHandler
, protected Interface::Ftc::RemoveTvcConfigReplyHandler
, protected Interface::Ftc::RemoveCnrConfigReplyHandler
{
Q_OBJECT
public:
explicit AvmVcaTests(int domainId, int exerciseId, int operatorId);
private slots:
void initTestCase();
void cleanupTestCase();
void test();
private:
void create();
void modify();
void remove();
/** FunctionTopic replies */
///@{
void onModifyCnrTvcProfileReply(const Core::FunctionReplyObject &replyObject) override final;
void onRemoveCnrTvcProfileReply(const Core::FunctionReplyObject &replyObject) override final;
void onModifyTvcConfigReply(const Core::FunctionReplyObject &replyObject) override final;
void onModifyCnrConfigReply(const Core::FunctionReplyObject &replyObject) override final;
void onRemoveTvcConfigReply(const Core::FunctionReplyObject &replyObject) override final;
void onRemoveCnrConfigReply(const Core::FunctionReplyObject &replyObject) override final;
///@}
void createTvcConfig();
void createCnrConfig();
void removeTvcConfig();
void removeCnrConfig();
std::shared_ptr<DDSConnector::DdsConnector> m_ddsConnector;
std::shared_ptr<AudioVideoManagement::Interface::Ftc> m_ftc;
std::shared_ptr<AudioVideoManagement::Interface::Dtc> m_dtc;
const int m_exerciseId;
const int m_operatorId;
int m_circuitId{-1};
bool m_modifyReplyReceived{false};
bool m_removeReplyReceived{false};
QVector<int> m_tvcConfigIds;
QVector<int> m_cnrConfigIds;
NGL::INGLLogger &m_logger;
};
} // namespace AudioVideoManagement