Guest User

Untitled

a guest
Mar 19th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. #include "gmock/gmock.h"
  2. #include "gtest/gtest.h"
  3.  
  4. using ::testing::NiceMock;
  5. using ::testing::Return;
  6. using ::testing::_; // Matcher for parameters
  7.  
  8. // 隣人
  9. class FugaServiceClient
  10. {
  11. public:
  12. virtual void send(std::string message) = 0;
  13. };
  14.  
  15. // テスト対象
  16. class Subject {
  17. public:
  18. void setFugaServiceClient(FugaServiceClient* client) {
  19. _client = client;
  20. }
  21.  
  22. void sendIfHourIs6(std::string message, int hour) {
  23. if (hour == 6) {
  24. _client->send(message);
  25. }
  26. }
  27. private:
  28. FugaServiceClient* _client;
  29. };
  30.  
  31. class FugaMockClient : public FugaServiceClient {
  32. public:
  33. FugaMockClient() {}
  34. MOCK_METHOD1(send, void(std::string));
  35. };
  36.  
  37. TEST(SubjectWithMock, WhenHourIs6ThenSendMessage) {
  38. Subject subject;
  39. NiceMock<FugaMockClient> mock;
  40. EXPECT_CALL(mock, send("myMessage"))
  41. .Times(1);
  42. subject.setFugaServiceClient(&mock);
  43.  
  44. subject.sendIfHourIs6("myMessage", 6);
  45. }
  46.  
  47. TEST(SubjectWithMock, WhenHourIs5ThenNotSendMessage) {
  48. Subject subject;
  49. NiceMock<FugaMockClient> mock;
  50. EXPECT_CALL(mock, send("myMessage"))
  51. .Times(0);
  52. subject.setFugaServiceClient(&mock);
  53.  
  54. subject.sendIfHourIs6("myMessage", 5);
  55. }
Add Comment
Please, Sign In to add comment