10Duke Scale C++ Client
Loading...
Searching...
No Matches
JSONStringMock.h
1#ifndef TENDUKE_TEST_MOCKS_JSONSTRINGMOCK_H
2#define TENDUKE_TEST_MOCKS_JSONSTRINGMOCK_H
3
4#include "json/JSONString.h"
5#include "gmock/gmock.h"
6
7namespace tenduke { namespace test { namespace mocks {
8
10{
11public:
12 MOCK_METHOD(enum Type, getType, (), (const, override));
13 MOCK_METHOD(std::string, asString, (), (const, override));
14 MOCK_METHOD(std::string, getValue, (), (const, override));
15
16 static JSONStringMock * create(std::string value)
17 {
18 auto mock = new JSONStringMock();
19 EXPECT_CALL(*mock, getType()).WillRepeatedly(::testing::Return(tenduke::json::JSONElement::Type::STRING));
20 EXPECT_CALL(*mock, getValue()).WillRepeatedly(::testing::Return(value));
21 EXPECT_CALL(*mock, asString()).WillRepeatedly(::testing::Return(value));
22
23 return mock;
24 }
25 static std::unique_ptr<JSONStringMock> createUnique(std::string value)
26 {
27 return std::unique_ptr<JSONStringMock>(create(std::move(value)));
28 }
29 static std::shared_ptr<JSONStringMock> createShared(std::string value)
30 {
31 return std::shared_ptr<JSONStringMock>(create(std::move(value)));
32 }
33};
34
35}}}
36
37#endif //TENDUKE_TEST_MOCKS_JSONSTRINGMOCK_H
virtual enum Type getType() const =0
Returns type of this element.
virtual std::string asString() const =0
Returns string representation of this element.
Type
Type of the element.
Definition JSONElement.h:17
JSON string element.
Definition JSONString.h:14
virtual std::string getValue() const =0
Returns the value of this string.
Definition JSONStringMock.h:10
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7