Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "gmock/gmock.h"
- #include "gtest/gtest.h"
- using ::testing::NiceMock;
- using ::testing::Return;
- using ::testing::_; // Matcher for parameters
- // 隣人
- class FugaServiceClient
- {
- public:
- virtual void send(std::string message) = 0;
- };
- // テスト対象
- class Subject {
- public:
- void setFugaServiceClient(FugaServiceClient* client) {
- _client = client;
- }
- void sendIfHourIs6(std::string message, int hour) {
- if (hour == 6) {
- _client->send(message);
- }
- }
- private:
- FugaServiceClient* _client;
- };
- class FugaMockClient : public FugaServiceClient {
- public:
- FugaMockClient() {}
- MOCK_METHOD1(send, void(std::string));
- };
- TEST(SubjectWithMock, WhenHourIs6ThenSendMessage) {
- Subject subject;
- NiceMock<FugaMockClient> mock;
- EXPECT_CALL(mock, send("myMessage"))
- .Times(1);
- subject.setFugaServiceClient(&mock);
- subject.sendIfHourIs6("myMessage", 6);
- }
- TEST(SubjectWithMock, WhenHourIs5ThenNotSendMessage) {
- Subject subject;
- NiceMock<FugaMockClient> mock;
- EXPECT_CALL(mock, send("myMessage"))
- .Times(0);
- subject.setFugaServiceClient(&mock);
- subject.sendIfHourIs6("myMessage", 5);
- }
Add Comment
Please, Sign In to add comment