Advertisement
r_levkovych

tests_error

Feb 26th, 2020
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. class FileDeviceMock : public QFileDevice {
  2.  public:
  3.   MOCK_METHOD(qint64, readLineData, (char*, qint64 ), (override));
  4.   MOCK_METHOD(bool, atEnd, (), (const, override));
  5.   MOCK_METHOD(bool, open, (QIODevice::OpenMode), (override));
  6.   MOCK_METHOD((void), close, (), (override));
  7. };
  8.  
  9. class FileDeviceReader : public Test {
  10.  protected:
  11.   const std::string empty = "";
  12.   const std::string first_line_with_data =
  13.       "first_line_with_data";
  14.  
  15.   const std::string second_line_with_data = "second_line_with_data";
  16. };
  17.  
  18. TEST_F(CsvFileReaderTests, ShouldSuccessfulyReadEmptyFile) {
  19.   NiceMock<FileDeviceMock>* fileMock = new NiceMock<FileDeviceMock>();
  20.   ileReader reader{fileMock};
  21.  
  22.   EXPECT_CALL(*fileMock, open(_)).WillRepeatedly(Return(true));
  23.  
  24.   EXPECT_CALL(*fileMock, readLineData(_, _))
  25.       .WillOnce(Invoke([this](char* data, qint64) {
  26.         first_line_with_data.copy(data, first_line_with_data.size());
  27.         return first_line_with_data.size();
  28.       }));
  29.  
  30.   EXPECT_CALL(*fileMock, readLineData(_, _))
  31.       .WillOnce(Invoke([this](char* data, qint64) {
  32.         second_line_with_data.copy(data, second_line_with_data.size());
  33.         return second_line_with_data.size();
  34.       }));
  35.   EXPECT_CALL(*fileMock, atEnd()).WillOnce(Return(true));
  36.  
  37.   reader.run();
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement