14#include <QCoreApplication>
18#include <gtest/gtest.h>
28 static QCoreApplication *
app;
34 char *argv[] = {
nullptr};
35 app =
new QCoreApplication(argc, argv);
44 ASSERT_NE(
dataManager->getSystemDataManager(),
nullptr);
45 ASSERT_NE(
dataManager->getVehicleDataManager(),
nullptr);
46 ASSERT_NE(
dataManager->getClusterSettingsManager(),
nullptr);
66 dataManager->handleSpeedData(42.5f);
67 QCoreApplication::processEvents();
69 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
70 QList<QVariant> args = spy.takeFirst();
71 EXPECT_FLOAT_EQ(args.at(0).toFloat(), 42.5f);
85 dataManager->handleRpmData(3500);
86 QCoreApplication::processEvents();
88 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
89 QList<QVariant> args = spy.takeFirst();
90 EXPECT_EQ(args.at(1).toInt(), 3500);
104 dataManager->handleSteeringData(15);
105 QCoreApplication::processEvents();
107 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
108 QList<QVariant> args = spy.takeFirst();
109 EXPECT_EQ(args.at(1).toInt(), 15);
124 QCoreApplication::processEvents();
126 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
127 QList<QVariant> args = spy.takeFirst();
142 dataManager->handleTimeData(
"2025-01-31",
"12:30",
"Friday");
143 QCoreApplication::processEvents();
145 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
146 QList<QVariant> args = spy.takeFirst();
147 EXPECT_EQ(args.at(0).toString(),
"2025-01-31");
148 EXPECT_EQ(args.at(1).toString(),
"12:30");
149 EXPECT_EQ(args.at(2).toString(),
"Friday");
163 dataManager->handleWifiData(
"Connected",
"MyWiFi");
164 QCoreApplication::processEvents();
166 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
167 QList<QVariant> args = spy.takeFirst();
168 EXPECT_EQ(args.at(0).toString(),
"Connected");
169 EXPECT_EQ(args.at(1).toString(),
"MyWiFi");
183 dataManager->handleTemperatureData(
"25.5°C");
184 QCoreApplication::processEvents();
186 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
187 QList<QVariant> args = spy.takeFirst();
188 EXPECT_EQ(args.at(0).toString(),
"25.5°C");
202 dataManager->handleIpAddressData(
"192.168.1.100");
203 QCoreApplication::processEvents();
205 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
206 QList<QVariant> args = spy.takeFirst();
207 EXPECT_EQ(args.at(0).toString(),
"192.168.1.100");
221 dataManager->handleBatteryPercentage(87.5f);
222 QCoreApplication::processEvents();
224 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
225 QList<QVariant> args = spy.takeFirst();
226 EXPECT_FLOAT_EQ(args.at(0).toFloat(), 87.5f);
240 dataManager->handleMileageUpdate(12345.67);
241 QCoreApplication::processEvents();
243 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
244 QList<QVariant> args = spy.takeFirst();
245 EXPECT_DOUBLE_EQ(args.at(0).toDouble(), 12345.67);
259 dataManager->toggleDrivingMode();
260 QCoreApplication::processEvents();
262 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
276 dataManager->toggleClusterTheme();
277 QCoreApplication::processEvents();
279 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
293 dataManager->toggleClusterMetrics();
294 QCoreApplication::processEvents();
296 ASSERT_GT(spy.count(), 0) <<
"Signal was not emitted!";
Definition of the DataManager class.
CarDirection
Enum class for the car direction.
Class to test the integration between the DataManager and the SystemDataManager, VehicleDataManager,...
static void TearDownTestSuite()
static void SetUpTestSuite()
static QCoreApplication * app
Initialize static member.
DataManager * dataManager
Class that manages the data received from the car's systems. QObject.
void batteryPercentageUpdated(float batteryPercentage)
void engineDataProcessed(CarDirection processedDirection, int processedAngle)
void mileageUpdated(double mileage)
void ipAddressUpdated(const QString &ipAddress)
void drivingModeUpdated(DrivingMode newMode)
void canDataProcessed(float processedSpeed, int processedRpm)
void systemTimeUpdated(const QString ¤tDate, const QString ¤tTime, const QString ¤tDay)
void clusterThemeUpdated(ClusterTheme newTheme)
void clusterMetricsUpdated(ClusterMetrics newMetrics)
void systemTemperatureUpdated(const QString &temperature)
void systemWifiUpdated(const QString &status, const QString &wifiName)
TEST_F(DataManagerTest, ForwardSpeedDataToVehicleDataManager)
Ensures that the DataManager forwards speed data to the VehicleDataManager.