##// END OF EJS Templates
Changes structure of data hold by the item...
Changes structure of data hold by the item - The data are now set as a QHash instead of a QVector. Each data has a QVariant value and is associated to a key - Changes the constructor and adds a constructor that takes only a name

File last commit:

r92:afb77b3143a6
r342:2fbf66a7ca8a
Show More
TestDataSourceController.cpp
51 lines | 1.7 KiB | text/x-c | CppLexer
/ core / tests / DataSource / TestDataSourceController.cpp
Alexandre Leroux
Inits unit tests for DataSource controller
r38 #include <DataSource/DataSourceController.h>
#include <DataSource/DataSourceItem.h>
#include <QObject>
#include <QtTest>
#include <memory>
class TestDataSourceController : public QObject {
Q_OBJECT
private slots:
void testRegisterDataSource();
void testSetDataSourceItem();
};
void TestDataSourceController::testRegisterDataSource()
{
DataSourceController dataSourceController{};
auto uid = dataSourceController.registerDataSource(QStringLiteral("Source1"));
QVERIFY(!uid.isNull());
}
void TestDataSourceController::testSetDataSourceItem()
{
DataSourceController dataSourceController{};
// Spy to test controllers' signals
Alexandre Leroux
Change signal/slot signature for data source
r92 QSignalSpy signalSpy{&dataSourceController, SIGNAL(dataSourceItemSet(DataSourceItem *))};
Alexandre Leroux
Inits unit tests for DataSource controller
r38
// Create a data source item
auto source1Name = QStringLiteral("Source1");
auto source1Values = QVector<QVariant>{source1Name};
Alexandre Leroux
Adds type for a data source item...
r79 auto source1Item
= std::make_unique<DataSourceItem>(DataSourceItemType::PRODUCT, std::move(source1Values));
Alexandre Leroux
Inits unit tests for DataSource controller
r38
// Add data source item to the controller and check that a signal has been emitted after setting
// data source item in the controller
auto source1Uid = dataSourceController.registerDataSource(source1Name);
dataSourceController.setDataSourceItem(source1Uid, std::move(source1Item));
QCOMPARE(signalSpy.count(), 1);
// Try to a data source item with an unregistered uid and check that no signal has been emitted
auto unregisteredUid = QUuid::createUuid();
Alexandre Leroux
Adds type for a data source item...
r79 dataSourceController.setDataSourceItem(
unregisteredUid, std::make_unique<DataSourceItem>(DataSourceItemType::PRODUCT));
Alexandre Leroux
Inits unit tests for DataSource controller
r38 QCOMPARE(signalSpy.count(), 1);
}
QTEST_MAIN(TestDataSourceController)
#include "TestDataSourceController.moc"