Index: testing/gmock/include/gmock/gmock-cardinalities.h |
diff --git a/testing/gmock/include/gmock/gmock-cardinalities.h b/testing/gmock/include/gmock/gmock-cardinalities.h |
deleted file mode 100644 |
index ae4cb641e9f2d669d2504b257b9929c24dcf446e..0000000000000000000000000000000000000000 |
--- a/testing/gmock/include/gmock/gmock-cardinalities.h |
+++ /dev/null |
@@ -1,146 +0,0 @@ |
-// Copyright 2007, Google Inc. |
-// All rights reserved. |
-// |
-// Redistribution and use in source and binary forms, with or without |
-// modification, are permitted provided that the following conditions are |
-// met: |
-// |
-// * Redistributions of source code must retain the above copyright |
-// notice, this list of conditions and the following disclaimer. |
-// * Redistributions in binary form must reproduce the above |
-// copyright notice, this list of conditions and the following disclaimer |
-// in the documentation and/or other materials provided with the |
-// distribution. |
-// * Neither the name of Google Inc. nor the names of its |
-// contributors may be used to endorse or promote products derived from |
-// this software without specific prior written permission. |
-// |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// |
-// Author: wan@google.com (Zhanyong Wan) |
- |
-// Google Mock - a framework for writing C++ mock classes. |
-// |
-// This file implements some commonly used cardinalities. More |
-// cardinalities can be defined by the user implementing the |
-// CardinalityInterface interface if necessary. |
- |
-#ifndef GMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_ |
-#define GMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_ |
- |
-#include <limits.h> |
-#include <ostream> // NOLINT |
-#include <gmock/internal/gmock-port.h> |
-#include <gtest/gtest.h> |
- |
-namespace testing { |
- |
-// To implement a cardinality Foo, define: |
-// 1. a class FooCardinality that implements the |
-// CardinalityInterface interface, and |
-// 2. a factory function that creates a Cardinality object from a |
-// const FooCardinality*. |
-// |
-// The two-level delegation design follows that of Matcher, providing |
-// consistency for extension developers. It also eases ownership |
-// management as Cardinality objects can now be copied like plain values. |
- |
-// The implementation of a cardinality. |
-class CardinalityInterface { |
- public: |
- virtual ~CardinalityInterface() {} |
- |
- // Conservative estimate on the lower/upper bound of the number of |
- // calls allowed. |
- virtual int ConservativeLowerBound() const { return 0; } |
- virtual int ConservativeUpperBound() const { return INT_MAX; } |
- |
- // Returns true iff call_count calls will satisfy this cardinality. |
- virtual bool IsSatisfiedByCallCount(int call_count) const = 0; |
- |
- // Returns true iff call_count calls will saturate this cardinality. |
- virtual bool IsSaturatedByCallCount(int call_count) const = 0; |
- |
- // Describes self to an ostream. |
- virtual void DescribeTo(::std::ostream* os) const = 0; |
-}; |
- |
-// A Cardinality is a copyable and IMMUTABLE (except by assignment) |
-// object that specifies how many times a mock function is expected to |
-// be called. The implementation of Cardinality is just a linked_ptr |
-// to const CardinalityInterface, so copying is fairly cheap. |
-// Don't inherit from Cardinality! |
-class Cardinality { |
- public: |
- // Constructs a null cardinality. Needed for storing Cardinality |
- // objects in STL containers. |
- Cardinality() {} |
- |
- // Constructs a Cardinality from its implementation. |
- explicit Cardinality(const CardinalityInterface* impl) : impl_(impl) {} |
- |
- // Conservative estimate on the lower/upper bound of the number of |
- // calls allowed. |
- int ConservativeLowerBound() const { return impl_->ConservativeLowerBound(); } |
- int ConservativeUpperBound() const { return impl_->ConservativeUpperBound(); } |
- |
- // Returns true iff call_count calls will satisfy this cardinality. |
- bool IsSatisfiedByCallCount(int call_count) const { |
- return impl_->IsSatisfiedByCallCount(call_count); |
- } |
- |
- // Returns true iff call_count calls will saturate this cardinality. |
- bool IsSaturatedByCallCount(int call_count) const { |
- return impl_->IsSaturatedByCallCount(call_count); |
- } |
- |
- // Returns true iff call_count calls will over-saturate this |
- // cardinality, i.e. exceed the maximum number of allowed calls. |
- bool IsOverSaturatedByCallCount(int call_count) const { |
- return impl_->IsSaturatedByCallCount(call_count) && |
- !impl_->IsSatisfiedByCallCount(call_count); |
- } |
- |
- // Describes self to an ostream |
- void DescribeTo(::std::ostream* os) const { impl_->DescribeTo(os); } |
- |
- // Describes the given actual call count to an ostream. |
- static void DescribeActualCallCountTo(int actual_call_count, |
- ::std::ostream* os); |
- private: |
- internal::linked_ptr<const CardinalityInterface> impl_; |
-}; |
- |
-// Creates a cardinality that allows at least n calls. |
-Cardinality AtLeast(int n); |
- |
-// Creates a cardinality that allows at most n calls. |
-Cardinality AtMost(int n); |
- |
-// Creates a cardinality that allows any number of calls. |
-Cardinality AnyNumber(); |
- |
-// Creates a cardinality that allows between min and max calls. |
-Cardinality Between(int min, int max); |
- |
-// Creates a cardinality that allows exactly n calls. |
-Cardinality Exactly(int n); |
- |
-// Creates a cardinality from its implementation. |
-inline Cardinality MakeCardinality(const CardinalityInterface* c) { |
- return Cardinality(c); |
-} |
- |
-} // namespace testing |
- |
-#endif // GMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_ |