37#include "gtest/gtest.h"
38#include "gtest/gtest-spi.h"
42using std::stringstream;
63TEST(CardinalityTest, IsDefaultConstructable) {
68TEST(CardinalityTest, IsCopyable) {
82TEST(CardinalityTest, IsOverSaturatedByCallCountWorks) {
83 const Cardinality
c =
AtMost(5);
91TEST(CardinalityTest, CanDescribeActualCallCount) {
93 Cardinality::DescribeActualCallCountTo(0, &ss0);
97 Cardinality::DescribeActualCallCountTo(1, &ss1);
101 Cardinality::DescribeActualCallCountTo(2, &ss2);
105 Cardinality::DescribeActualCallCountTo(3, &ss3);
127TEST(AnyNumberTest, HasCorrectBounds) {
130 EXPECT_EQ(INT_MAX,
c.ConservativeUpperBound());
135TEST(AtLeastTest, OnNegativeNumber) {
138 },
"The invocation lower bound must be >= 0");
141TEST(AtLeastTest, OnZero) {
155TEST(AtLeastTest, OnPositiveNumber) {
182TEST(AtLeastTest, HasCorrectBounds) {
185 EXPECT_EQ(INT_MAX,
c.ConservativeUpperBound());
190TEST(AtMostTest, OnNegativeNumber) {
193 },
"The invocation upper bound must be >= 0");
196TEST(AtMostTest, OnZero) {
197 const Cardinality
c =
AtMost(0);
210TEST(AtMostTest, OnPositiveNumber) {
211 const Cardinality
c =
AtMost(2);
237TEST(AtMostTest, HasCorrectBounds) {
238 const Cardinality
c =
AtMost(2);
245TEST(BetweenTest, OnNegativeStart) {
248 },
"The invocation lower bound must be >= 0, but is actually -1");
251TEST(BetweenTest, OnNegativeEnd) {
254 },
"The invocation upper bound must be >= 0, but is actually -2");
257TEST(BetweenTest, OnStartBiggerThanEnd) {
260 },
"The invocation upper bound (1) must be >= "
261 "the invocation lower bound (2)");
264TEST(BetweenTest, OnZeroStartAndZeroEnd) {
265 const Cardinality
c =
Between(0, 0);
279TEST(BetweenTest, OnZeroStartAndNonZeroEnd) {
280 const Cardinality
c =
Between(0, 2);
297TEST(BetweenTest, OnSameStartAndEnd) {
298 const Cardinality
c =
Between(3, 3);
315TEST(BetweenTest, OnDifferentStartAndEnd) {
316 const Cardinality
c =
Between(3, 5);
336TEST(BetweenTest, HasCorrectBounds) {
337 const Cardinality
c =
Between(3, 5);
344TEST(ExactlyTest, OnNegativeNumber) {
347 },
"The invocation lower bound must be >= 0");
350TEST(ExactlyTest, OnZero) {
364TEST(ExactlyTest, OnPositiveNumber) {
388TEST(ExactlyTest, HasCorrectBounds) {
397class EvenCardinality :
public CardinalityInterface {
400 virtual bool IsSatisfiedByCallCount(
int call_count)
const {
401 return (call_count % 2 == 0);
405 virtual bool IsSaturatedByCallCount(
int )
const {
410 virtual void DescribeTo(::std::ostream* ss)
const {
411 *ss <<
"called even number of times";
415TEST(MakeCardinalityTest, ConstructsCardinalityFromInterface) {
425 EXPECT_EQ(
"called even number of times", ss.str());
MockFoo()
Definition gmock_output_test_.cc:53
Definition gmock-cardinalities.h:59
Definition gmock-cardinalities.h:83
void DescribeTo(::std::ostream *os) const
Definition gmock-cardinalities.h:115
#define EXPECT_NONFATAL_FAILURE(statement, substr)
Definition gtest-spi.h:204
#define EXPECT_EQ(val1, val2)
Definition gtest.h:1922
#define EXPECT_TRUE(condition)
Definition gtest.h:1859
#define TEST(test_case_name, test_name)
Definition gtest.h:2187
#define EXPECT_FALSE(condition)
Definition gtest.h:1862
#define EXPECT_PRED_FORMAT2(pred_format, v1, v2)
Definition gtest_pred_impl.h:161
#define GTEST_DISALLOW_COPY_AND_ASSIGN_(type)
Definition gtest-port.h:874
#define MOCK_METHOD0(m,...)
Definition gmock-generated-function-mockers.h:675
GTEST_API_ Cardinality AnyNumber()
Definition gmock-cardinalities.cc:146
GTEST_API_ AssertionResult IsSubstring(const char *needle_expr, const char *haystack_expr, const char *needle, const char *haystack)
Definition gtest.cc:1606
c
Definition pymoduletest.py:79
GTEST_API_ Cardinality AtLeast(int n)
Definition gmock-cardinalities.cc:140
GTEST_API_ AssertionResult IsSubstring(const char *needle_expr, const char *haystack_expr, const char *needle, const char *haystack)
Definition gtest.cc:1606
GTEST_API_ Cardinality Between(int min, int max)
Definition gmock-cardinalities.cc:149
GTEST_API_ Cardinality AtMost(int n)
Definition gmock-cardinalities.cc:143
GTEST_API_ Cardinality AnyNumber()
Definition gmock-cardinalities.cc:146
GTEST_API_ Cardinality Exactly(int n)
Definition gmock-cardinalities.cc:154
Cardinality MakeCardinality(const CardinalityInterface *c)
Definition gmock-cardinalities.h:141