20#include <gmock/gmock.h>
21#include <gtest/gtest.h>
24using ::testing::NiceMock;
25using ::testing::Return;
59 EXPECT_CALL(mockFileHandler, readMileage()).WillOnce(Return(123.45));
62 EXPECT_CALL(mockFileHandler, writeMileage(123.45)).WillRepeatedly(Return());
64 mileageManager->initialize();
65 mileageManager->saveMileage();
77 EXPECT_CALL(mockCalculator, addSpeed(50.0)).Times(1);
78 mileageManager->onSpeedUpdated(50.0);
90 EXPECT_CALL(mockCalculator, calculateDistance()).WillOnce(Return(10.5));
93 ASSERT_TRUE(spy.isValid());
95 mileageManager->updateMileage();
97 ASSERT_EQ(spy.count(), 1);
98 QList<QVariant> arguments = spy.takeFirst();
99 EXPECT_DOUBLE_EQ(arguments.at(0).toDouble(), 10.5);
111 EXPECT_CALL(mockFileHandler, writeMileage(200.0)).WillRepeatedly(Return());
113 EXPECT_CALL(mockCalculator, calculateDistance()).WillOnce(Return(50.0));
114 mileageManager->updateMileage();
116 EXPECT_CALL(mockCalculator, calculateDistance()).WillOnce(Return(150.0));
117 mileageManager->updateMileage();
119 mileageManager->saveMileage();
Definition of the MileageManager class.
File containing the Mock class of the MileageCalculator class.
File containing the Mock class of the MileageFileHandler class.
Class to test the integration between the MileageManager and the MileageCalculator and MileageFileHan...
MileageManager * mileageManager
NiceMock< MockMileageFileHandler > mockFileHandler
NiceMock< MockMileageCalculator > mockCalculator
Class that manages the mileage of a vehicle. QObject.
void mileageUpdated(double mileage)
TEST_F(MileageManagerTest, Initialize_LoadsMileageFromFile)
Ensures that the mileage manager initializes correctly.