39 #ifndef GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_
40 #define GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_
66 class CardinalityInterface {
68 virtual ~CardinalityInterface() =
default;
72 virtual int ConservativeLowerBound()
const {
return 0; }
73 virtual int ConservativeUpperBound()
const {
return INT_MAX; }
77 virtual bool IsSatisfiedByCallCount(
int call_count)
const = 0;
81 virtual bool IsSaturatedByCallCount(
int call_count)
const = 0;
84 virtual void DescribeTo(::std::ostream* os)
const = 0;
95 Cardinality() =
default;
98 explicit Cardinality(
const CardinalityInterface* impl) : impl_(impl) {}
102 int ConservativeLowerBound()
const {
return impl_->ConservativeLowerBound(); }
103 int ConservativeUpperBound()
const {
return impl_->ConservativeUpperBound(); }
107 bool IsSatisfiedByCallCount(
int call_count)
const {
108 return impl_->IsSatisfiedByCallCount(call_count);
113 bool IsSaturatedByCallCount(
int call_count)
const {
114 return impl_->IsSaturatedByCallCount(call_count);
119 bool IsOverSaturatedByCallCount(
int call_count)
const {
120 return impl_->IsSaturatedByCallCount(call_count) &&
121 !impl_->IsSatisfiedByCallCount(call_count);
125 void DescribeTo(::std::ostream* os)
const { impl_->DescribeTo(os); }
128 static void DescribeActualCallCountTo(
int actual_call_count,
132 std::shared_ptr<const CardinalityInterface> impl_;
151 inline Cardinality MakeCardinality(
const CardinalityInterface*
c) {
152 return Cardinality(c);
159 #endif // GOOGLEMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_
GTEST_DISABLE_MSC_WARNINGS_POP_() TEST(LinkTest
GTEST_API_ Cardinality AtLeast(int n)
GTEST_API_ Cardinality AtMost(int n)
expr expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c *expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 expr2 expr1 expr1 expr1 c
#define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings)
SimpleFad< ValueT > min(const SimpleFad< ValueT > &a, const SimpleFad< ValueT > &b)
GTEST_API_ Cardinality Between(int min, int max)
GTEST_API_ Cardinality Exactly(int n)
GTEST_API_ Cardinality AnyNumber()
SimpleFad< ValueT > max(const SimpleFad< ValueT > &a, const SimpleFad< ValueT > &b)