Monero
Toggle main menu visibility
Loading...
Searching...
No Matches
external
rapidjson
thirdparty
gtest
googlemock
test
gmock-generated-internal-utils_test.cc
Go to the documentation of this file.
1
// Copyright 2007, Google Inc.
2
// All rights reserved.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are
6
// met:
7
//
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above
11
// copyright notice, this list of conditions and the following disclaimer
12
// in the documentation and/or other materials provided with the
13
// distribution.
14
// * Neither the name of Google Inc. nor the names of its
15
// contributors may be used to endorse or promote products derived from
16
// this software without specific prior written permission.
17
//
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
//
30
// Author: wan@google.com (Zhanyong Wan)
31
32
// Google Mock - a framework for writing C++ mock classes.
33
//
34
// This file tests the internal utilities.
35
36
#include "
gmock/internal/gmock-generated-internal-utils.h
"
37
#include "
gmock/internal/gmock-internal-utils.h
"
38
#include "gtest/gtest.h"
39
40
namespace
{
41
42
using
::testing::tuple;
43
using
::
testing::Matcher
;
44
using
::
testing::internal::CompileAssertTypesEqual
;
45
using
::
testing::internal::MatcherTuple
;
46
using
::
testing::internal::Function
;
47
using
::
testing::internal::IgnoredValue
;
48
49
// Tests the MatcherTuple template struct.
50
51
TEST
(MatcherTupleTest, ForSize0) {
52
CompileAssertTypesEqual<tuple<>
, MatcherTuple<tuple<> >::type>();
53
}
54
55
TEST
(MatcherTupleTest, ForSize1) {
56
CompileAssertTypesEqual<tuple<Matcher<int>
>,
57
MatcherTuple<tuple<int> >::type>();
58
}
59
60
TEST
(MatcherTupleTest, ForSize2) {
61
CompileAssertTypesEqual<tuple<Matcher<int>
,
Matcher<char>
>,
62
MatcherTuple<tuple<int, char> >::type>();
63
}
64
65
TEST
(MatcherTupleTest, ForSize5) {
66
CompileAssertTypesEqual<tuple<Matcher<int>
,
Matcher<char>
,
Matcher<bool>
,
67
Matcher<double>
,
Matcher<char*>
>,
68
MatcherTuple<tuple<int, char, bool, double, char*>
69
>::type>();
70
}
71
72
// Tests the Function template struct.
73
74
TEST
(FunctionTest, Nullary) {
75
typedef
Function
<int()>
F
;
// NOLINT
76
CompileAssertTypesEqual<int, F::Result>
();
77
CompileAssertTypesEqual<tuple<>
, F::ArgumentTuple>();
78
CompileAssertTypesEqual<tuple<>
, F::ArgumentMatcherTuple>();
79
CompileAssertTypesEqual<void(), F::MakeResultVoid>
();
80
CompileAssertTypesEqual<IgnoredValue(), F::MakeResultIgnoredValue>
();
81
}
82
83
TEST
(FunctionTest, Unary) {
84
typedef
Function
<int(
bool
)>
F
;
// NOLINT
85
CompileAssertTypesEqual<int, F::Result>
();
86
CompileAssertTypesEqual<bool, F::Argument1>
();
87
CompileAssertTypesEqual<tuple<bool>
, F::ArgumentTuple>();
88
CompileAssertTypesEqual<tuple<Matcher<bool>
>, F::ArgumentMatcherTuple>();
89
CompileAssertTypesEqual<void(bool), F::MakeResultVoid>
();
// NOLINT
90
CompileAssertTypesEqual
<IgnoredValue(
bool
),
// NOLINT
91
F::MakeResultIgnoredValue>();
92
}
93
94
TEST
(FunctionTest, Binary) {
95
typedef
Function
<int(
bool
,
const
long
&)>
F
;
// NOLINT
96
CompileAssertTypesEqual<int, F::Result>
();
97
CompileAssertTypesEqual<bool, F::Argument1>
();
98
CompileAssertTypesEqual<const long&, F::Argument2>
();
// NOLINT
99
CompileAssertTypesEqual<tuple<bool, const long&>
, F::ArgumentTuple>();
// NOLINT
100
CompileAssertTypesEqual<tuple<Matcher<bool>
,
Matcher<const long&>
>,
// NOLINT
101
F::ArgumentMatcherTuple>();
102
CompileAssertTypesEqual<void(bool, const long&), F::MakeResultVoid>
();
// NOLINT
103
CompileAssertTypesEqual
<IgnoredValue(
bool
,
const
long
&),
// NOLINT
104
F::MakeResultIgnoredValue>();
105
}
106
107
TEST
(FunctionTest, LongArgumentList) {
108
typedef
Function
<char(
bool
,
int
,
char
*,
int
&,
const
long
&)>
F
;
// NOLINT
109
CompileAssertTypesEqual<char, F::Result>
();
110
CompileAssertTypesEqual<bool, F::Argument1>
();
111
CompileAssertTypesEqual<int, F::Argument2>
();
112
CompileAssertTypesEqual<char*, F::Argument3>
();
113
CompileAssertTypesEqual<int&, F::Argument4>
();
114
CompileAssertTypesEqual<const long&, F::Argument5>
();
// NOLINT
115
CompileAssertTypesEqual<tuple<bool, int, char*, int&, const long&>
,
// NOLINT
116
F::ArgumentTuple>();
117
CompileAssertTypesEqual<tuple<Matcher<bool>
,
Matcher<int>
,
Matcher<char*>
,
118
Matcher<int&>
,
Matcher<const long&>
>,
// NOLINT
119
F::ArgumentMatcherTuple>();
120
CompileAssertTypesEqual
<void(
bool
,
int
,
char
*,
int
&,
const
long
&),
// NOLINT
121
F::MakeResultVoid>();
122
CompileAssertTypesEqual
<
123
IgnoredValue(
bool
,
int
,
char
*,
int
&,
const
long
&),
// NOLINT
124
F::MakeResultIgnoredValue>();
125
}
126
127
}
// Unnamed namespace
Matcher
Definition
gmock-matchers.h:319
testing::Matcher
Definition
gmock-matchers.h:319
testing::internal::IgnoredValue
Definition
gmock-generated-internal-utils.h:55
TEST
#define TEST(test_case_name, test_name)
Definition
gtest.h:2187
gmock-generated-internal-utils.h
gmock-internal-utils.h
el::base::FormatFlags::Function
@ Function
Definition
easylogging++.h:853
F
#define F(w, k)
Definition
sha512-blocks.c:61
CompileAssertTypesEqual
Definition
gtest-internal.h:772
testing::internal::CompileAssertTypesEqual
Definition
gtest-internal.h:772
testing::internal::Function
Definition
gmock-generated-internal-utils.h:154
testing::internal::MatcherTuple
Definition
gmock-generated-internal-utils.h:69
Generated on
for Monero by
1.17.0