#include <math.h>
#include <algorithm>
#include <iterator>
#include <limits>
#include <ostream>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
#include "gmock/internal/gmock-internal-utils.h"
#include "gmock/internal/gmock-port.h"
#include "gtest/gtest.h"
Go to the source code of this file.
Classes | |
class | testing::internal::AnyMatcherImpl< T > |
class | testing::internal::AnythingMatcher |
class | testing::internal::BothOfMatcher< Matcher1, Matcher2 > |
class | testing::internal::BothOfMatcherImpl< T > |
struct | testing::internal::CallableTraits< Functor > |
struct | testing::internal::CallableTraits< ResType(*)(ArgType)> |
struct | testing::internal::CastAndAppendTransform< Target > |
class | testing::internal::ContainerEqMatcher< Container > |
class | testing::internal::ContainsMatcher< M > |
class | testing::internal::ContainsMatcherImpl< Container > |
class | testing::internal::DummyMatchResultListener |
class | testing::internal::EachMatcher< M > |
class | testing::internal::EachMatcherImpl< Container > |
class | testing::internal::EitherOfMatcher< Matcher1, Matcher2 > |
class | testing::internal::EitherOfMatcherImpl< T > |
class | testing::internal::ElementsAreArrayMatcher< T > |
class | testing::internal::ElementsAreMatcher< MatcherTuple > |
class | testing::internal::ElementsAreMatcherImpl< Container > |
class | testing::internal::EndsWithMatcher< StringType > |
class | testing::internal::FieldMatcher< Class, FieldType > |
class | testing::internal::FloatingEqMatcher< FloatType > |
class | testing::internal::HasSubstrMatcher< StringType > |
class | testing::internal::PointwiseMatcher< TupleMatcher, RhsContainer >::Impl< LhsContainer > |
class | testing::internal::WhenSortedByMatcher< Comparator, ContainerMatcher >::Impl< LhsContainer > |
class | testing::internal::SizeIsMatcher< SizeMatcher >::Impl< Container > |
class | testing::internal::ResultOfMatcher< Callable >::Impl< T > |
class | testing::internal::PointeeMatcher< InnerMatcher >::Impl< Pointer > |
class | testing::internal::FloatingEqMatcher< FloatType >::Impl< T > |
class | testing::internal::RefMatcher< T & >::Impl< Super > |
class | testing::internal::MatcherCastImpl< T, Matcher< U > >::Impl |
class | testing::internal::IsNullMatcher |
struct | testing::internal::TransformTupleValuesHelper< Tuple, Func, OutIter >::IterateOverTuple< Tup, kRemainingSize > |
struct | testing::internal::TransformTupleValuesHelper< Tuple, Func, OutIter >::IterateOverTuple< Tup, 0 > |
class | testing::internal::KeyMatcher< M > |
class | testing::internal::KeyMatcherImpl< PairType > |
struct | testing::internal::LessComparator |
class | testing::Matcher< T > |
class | testing::Matcher< const internal::string & > |
class | testing::Matcher< internal::string > |
class | testing::internal::MatcherAsPredicate< M > |
class | testing::internal::MatcherBase< T > |
class | testing::internal::MatcherCastImpl< T, M > |
class | testing::internal::MatcherCastImpl< T, Matcher< T > > |
class | testing::internal::MatcherCastImpl< T, Matcher< U > > |
class | testing::MatcherDescriberInterface |
class | testing::MatcherInterface< T > |
class | testing::internal::MatchesRegexMatcher |
class | testing::internal::MatchMatrix |
class | testing::MatchResultListener |
class | testing::PolymorphicMatcher< Impl >::MonomorphicImpl< T > |
class | testing::internal::NotMatcher< InnerMatcher > |
class | testing::internal::NotMatcherImpl< T > |
class | testing::internal::NotNullMatcher |
class | testing::internal::PairMatcher< FirstMatcher, SecondMatcher > |
class | testing::internal::PairMatcherImpl< PairType > |
class | testing::internal::PointeeMatcher< InnerMatcher > |
class | testing::internal::PointwiseMatcher< TupleMatcher, RhsContainer > |
class | testing::PolymorphicMatcher< Impl > |
class | testing::internal::PredicateFormatterFromMatcher< M > |
class | testing::internal::PropertyMatcher< Class, PropertyType > |
class | testing::internal::QuantifierMatcherImpl< Container > |
class | testing::internal::RefMatcher< T & > |
class | testing::internal::ResultOfMatcher< Callable > |
class | testing::SafeMatcherCastImpl< T > |
class | testing::internal::SizeIsMatcher< SizeMatcher > |
class | testing::internal::StartsWithMatcher< StringType > |
class | testing::internal::StreamMatchResultListener |
class | testing::internal::StrEqualityMatcher< StringType > |
class | testing::StringMatchResultListener |
class | testing::internal::TransformTupleValuesHelper< Tuple, Func, OutIter > |
class | testing::internal::TrulyMatcher< Predicate > |
class | testing::internal::TuplePrefix< N > |
class | testing::internal::TuplePrefix< 0 > |
class | testing::internal::UnorderedElementsAreArrayMatcher< T > |
class | testing::internal::UnorderedElementsAreMatcher< MatcherTuple > |
class | testing::internal::UnorderedElementsAreMatcherImpl< Container > |
class | testing::internal::UnorderedElementsAreMatcherImplBase |
class | testing::internal::WhenSortedByMatcher< Comparator, ContainerMatcher > |
Namespaces | |
namespace | testing |
namespace | testing::internal |
Defines | |
#define | ASSERT_THAT(value, matcher) |
#define | EXPECT_THAT(value, matcher) |
#define | GMOCK_IMPLEMENT_COMPARISON2_MATCHER_(name, op, relation) |
#define | GMOCK_IMPLEMENT_COMPARISON_MATCHER_(name, op, relation, negated_relation) |
Functions | |
template<typename T > | |
Matcher< T > | testing::A () |
template<typename InnerMatcher > | |
InnerMatcher | testing::AllArgs (const InnerMatcher &matcher) |
template<typename T > | |
Matcher< T > | testing::An () |
bool | testing::internal::CaseInsensitiveCStringEquals (const char *lhs, const char *rhs) |
bool | testing::internal::CaseInsensitiveCStringEquals (const wchar_t *lhs, const wchar_t *rhs) |
template<typename StringType > | |
bool | testing::internal::CaseInsensitiveStringEquals (const StringType &s1, const StringType &s2) |
template<typename Container > | |
PolymorphicMatcher < internal::ContainerEqMatcher < GTEST_REMOVE_CONST_(Container)> > | testing::ContainerEq (const Container &rhs) |
template<typename M > | |
internal::ContainsMatcher< M > | testing::Contains (M matcher) |
PolymorphicMatcher < internal::MatchesRegexMatcher > | testing::ContainsRegex (const internal::RE *regex) |
PolymorphicMatcher < internal::MatchesRegexMatcher > | testing::ContainsRegex (const internal::string ®ex) |
internal::FloatingEqMatcher < double > | testing::DoubleEq (double rhs) |
internal::FloatingEqMatcher < double > | testing::DoubleNear (double rhs, double max_abs_error) |
template<typename M > | |
internal::EachMatcher< M > | testing::Each (M matcher) |
template<typename Iter > | |
internal::ElementsAreArrayMatcher < typename::std::iterator_traits < Iter >::value_type > | testing::ElementsAreArray (Iter first, Iter last) |
template<typename T > | |
internal::ElementsAreArrayMatcher < T > | testing::ElementsAreArray (const T *pointer, size_t count) |
template<typename T , size_t N> | |
internal::ElementsAreArrayMatcher < T > | testing::ElementsAreArray (const T(&array)[N]) |
template<typename T , typename A > | |
internal::ElementsAreArrayMatcher < T > | testing::ElementsAreArray (const ::std::vector< T, A > &vec) |
PolymorphicMatcher < internal::EndsWithMatcher < internal::string > > | testing::EndsWith (const internal::string &suffix) |
template<typename T > | |
internal::EqMatcher< T > | testing::Eq (T x) |
internal::Eq2Matcher | testing::Eq () |
template<typename MatcherTuple , typename ValueTuple > | |
void | testing::internal::ExplainMatchFailureTupleTo (const MatcherTuple &matchers, const ValueTuple &values,::std::ostream *os) |
template<typename T , typename M > | |
bool | testing::ExplainMatchResult (M matcher, const T &value, MatchResultListener *listener) |
template<typename Class , typename FieldType , typename FieldMatcher > | |
PolymorphicMatcher < internal::FieldMatcher < Class, FieldType > > | testing::Field (FieldType Class::*field, const FieldMatcher &matcher) |
GTEST_API_ ElementMatcherPairs | testing::internal::FindMaxBipartiteMatching (const MatchMatrix &g) |
GTEST_API_ bool | testing::internal::FindPairing (const MatchMatrix &matrix, MatchResultListener *listener) |
internal::FloatingEqMatcher < float > | testing::FloatEq (float rhs) |
internal::FloatingEqMatcher < float > | testing::FloatNear (float rhs, float max_abs_error) |
GTEST_API_ string | testing::internal::FormatMatcherDescription (bool negation, const char *matcher_name, const Strings ¶m_values) |
template<typename Rhs > | |
internal::GeMatcher< Rhs > | testing::Ge (Rhs x) |
internal::Ge2Matcher | testing::Ge () |
testing::internal::GMOCK_IMPLEMENT_COMPARISON2_MATCHER_ (Eq,==,"an equal pair") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON2_MATCHER_ (Ge, >=,"a pair where the first >= the second") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON2_MATCHER_ (Gt, >,"a pair where the first > the second") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON2_MATCHER_ (Le,<=,"a pair where the first <= the second") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON2_MATCHER_ (Lt,<,"a pair where the first < the second") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON2_MATCHER_ (Ne,!=,"an unequal pair") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON_MATCHER_ (Eq,==,"is equal to","isn't equal to") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON_MATCHER_ (Ge, >=,"is >=","isn't >=") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON_MATCHER_ (Gt, >,"is >","isn't >") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON_MATCHER_ (Le,<=,"is <=","isn't <=") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON_MATCHER_ (Lt,<,"is <","isn't <") | |
testing::internal::GMOCK_IMPLEMENT_COMPARISON_MATCHER_ (Ne,!=,"isn't equal to","is equal to") | |
template<typename Rhs > | |
internal::GtMatcher< Rhs > | testing::Gt (Rhs x) |
internal::Gt2Matcher | testing::Gt () |
PolymorphicMatcher < internal::HasSubstrMatcher < internal::string > > | testing::HasSubstr (const internal::string &substring) |
PolymorphicMatcher < internal::IsNullMatcher > | testing::IsNull () |
bool | testing::internal::IsReadableTypeName (const string &type_name) |
template<typename M > | |
internal::KeyMatcher< M > | testing::Key (M inner_matcher) |
template<typename Rhs > | |
internal::LeMatcher< Rhs > | testing::Le (Rhs x) |
internal::Le2Matcher | testing::Le () |
template<typename Rhs > | |
internal::LtMatcher< Rhs > | testing::Lt (Rhs x) |
internal::Lt2Matcher | testing::Lt () |
template<typename T > | |
Matcher< T > | testing::MakeMatcher (const MatcherInterface< T > *impl) |
template<class Impl > | |
PolymorphicMatcher< Impl > | testing::MakePolymorphicMatcher (const Impl &impl) |
template<typename M > | |
PredicateFormatterFromMatcher< M > | testing::internal::MakePredicateFormatterFromMatcher (const M &matcher) |
template<typename T , typename M > | |
Matcher< T > | testing::MatcherCast (M matcher) |
template<typename M > | |
internal::MatcherAsPredicate< M > | testing::Matches (M matcher) |
PolymorphicMatcher < internal::MatchesRegexMatcher > | testing::MatchesRegex (const internal::RE *regex) |
PolymorphicMatcher < internal::MatchesRegexMatcher > | testing::MatchesRegex (const internal::string ®ex) |
template<typename Value , typename T > | |
bool | testing::internal::MatchPrintAndExplain (Value &value, const Matcher< T > &matcher, MatchResultListener *listener) |
internal::FloatingEqMatcher < double > | testing::NanSensitiveDoubleEq (double rhs) |
internal::FloatingEqMatcher < double > | testing::NanSensitiveDoubleNear (double rhs, double max_abs_error) |
internal::FloatingEqMatcher < float > | testing::NanSensitiveFloatEq (float rhs) |
internal::FloatingEqMatcher < float > | testing::NanSensitiveFloatNear (float rhs, float max_abs_error) |
template<typename Rhs > | |
internal::NeMatcher< Rhs > | testing::Ne (Rhs x) |
internal::Ne2Matcher | testing::Ne () |
template<typename InnerMatcher > | |
internal::NotMatcher < InnerMatcher > | testing::Not (InnerMatcher m) |
PolymorphicMatcher < internal::NotNullMatcher > | testing::NotNull () |
template<typename FirstMatcher , typename SecondMatcher > | |
internal::PairMatcher < FirstMatcher, SecondMatcher > | testing::Pair (FirstMatcher first_matcher, SecondMatcher second_matcher) |
template<typename InnerMatcher > | |
internal::PointeeMatcher < InnerMatcher > | testing::Pointee (const InnerMatcher &inner_matcher) |
template<typename TupleMatcher , typename Container > | |
internal::PointwiseMatcher < TupleMatcher, GTEST_REMOVE_CONST_(Container)> | testing::Pointwise (const TupleMatcher &tuple_matcher, const Container &rhs) |
void | testing::internal::PrintIfNotEmpty (const internal::string &explanation,::std::ostream *os) |
template<typename Class , typename PropertyType , typename PropertyMatcher > | |
PolymorphicMatcher < internal::PropertyMatcher < Class, PropertyType > > | testing::Property (PropertyType(Class::*property)() const, const PropertyMatcher &matcher) |
template<typename T > | |
internal::RefMatcher< T & > | testing::Ref (T &x) |
template<typename Callable , typename ResultOfMatcher > | |
internal::ResultOfMatcher < Callable > | testing::ResultOf (Callable callable, const ResultOfMatcher &matcher) |
template<typename T , typename M > | |
Matcher< T > | testing::SafeMatcherCast (const M &polymorphic_matcher) |
template<typename SizeMatcher > | |
internal::SizeIsMatcher < SizeMatcher > | testing::SizeIs (const SizeMatcher &size_matcher) |
PolymorphicMatcher < internal::StartsWithMatcher < internal::string > > | testing::StartsWith (const internal::string &prefix) |
PolymorphicMatcher < internal::StrEqualityMatcher < internal::string > > | testing::StrCaseEq (const internal::string &str) |
PolymorphicMatcher < internal::StrEqualityMatcher < internal::string > > | testing::StrCaseNe (const internal::string &str) |
PolymorphicMatcher < internal::StrEqualityMatcher < internal::string > > | testing::StrEq (const internal::string &str) |
PolymorphicMatcher < internal::StrEqualityMatcher < internal::string > > | testing::StrNe (const internal::string &str) |
template<typename Tuple , typename Func , typename OutIter > | |
OutIter | testing::internal::TransformTupleValues (Func f, const Tuple &t, OutIter out) |
template<typename Predicate > | |
PolymorphicMatcher < internal::TrulyMatcher < Predicate > > | testing::Truly (Predicate pred) |
template<typename MatcherTuple , typename ValueTuple > | |
bool | testing::internal::TupleMatches (const MatcherTuple &matcher_tuple, const ValueTuple &value_tuple) |
template<typename Lhs , typename Rhs > | |
Matcher< Lhs > | testing::TypedEq (const Rhs &rhs) |
template<typename Iter > | |
internal::UnorderedElementsAreArrayMatcher < typename::std::iterator_traits < Iter >::value_type > | testing::UnorderedElementsAreArray (Iter first, Iter last) |
template<typename T > | |
internal::UnorderedElementsAreArrayMatcher < T > | testing::UnorderedElementsAreArray (const T *pointer, size_t count) |
template<typename T , size_t N> | |
internal::UnorderedElementsAreArrayMatcher < T > | testing::UnorderedElementsAreArray (const T(&array)[N]) |
template<typename T , typename A > | |
internal::UnorderedElementsAreArrayMatcher < T > | testing::UnorderedElementsAreArray (const ::std::vector< T, A > &vec) |
template<typename T , typename M > | |
bool | testing::Value (const T &value, M matcher) |
template<typename ContainerMatcher > | |
internal::WhenSortedByMatcher < internal::LessComparator, ContainerMatcher > | testing::WhenSorted (const ContainerMatcher &container_matcher) |
template<typename Comparator , typename ContainerMatcher > | |
internal::WhenSortedByMatcher < Comparator, ContainerMatcher > | testing::WhenSortedBy (const Comparator &comparator, const ContainerMatcher &container_matcher) |
#define ASSERT_THAT | ( | value, | |
matcher | |||
) |
ASSERT_PRED_FORMAT1(\ ::testing::internal::MakePredicateFormatterFromMatcher(matcher), value)
Definition at line 3979 of file gmock-matchers.h.
#define EXPECT_THAT | ( | value, | |
matcher | |||
) |
EXPECT_PRED_FORMAT1(\ ::testing::internal::MakePredicateFormatterFromMatcher(matcher), value)
Definition at line 3981 of file gmock-matchers.h.
#define GMOCK_IMPLEMENT_COMPARISON2_MATCHER_ | ( | name, | |
op, | |||
relation | |||
) |
class name##2Matcher { \ public: \ template <typename T1, typename T2> \ operator Matcher< ::std::tr1::tuple<T1, T2> >() const { \ return MakeMatcher(new Impl< ::std::tr1::tuple<T1, T2> >); \ } \ template <typename T1, typename T2> \ operator Matcher<const ::std::tr1::tuple<T1, T2>&>() const { \ return MakeMatcher(new Impl<const ::std::tr1::tuple<T1, T2>&>); \ } \ private: \ template <typename Tuple> \ class Impl : public MatcherInterface<Tuple> { \ public: \ virtual bool MatchAndExplain( \ Tuple args, \ MatchResultListener* /* listener */) const { \ return ::std::tr1::get<0>(args) op ::std::tr1::get<1>(args); \ } \ virtual void DescribeTo(::std::ostream* os) const { \ *os << "are " relation; \ } \ virtual void DescribeNegationTo(::std::ostream* os) const { \ *os << "aren't " relation; \ } \ }; \ }
Definition at line 1321 of file gmock-matchers.h.
#define GMOCK_IMPLEMENT_COMPARISON_MATCHER_ | ( | name, | |
op, | |||
relation, | |||
negated_relation | |||
) |
Definition at line 876 of file gmock-matchers.h.