2010-03-24 17:35:11 +00:00
|
|
|
// This file was GENERATED by command:
|
|
|
|
// pump.py gmock-generated-matchers.h.pump
|
|
|
|
// DO NOT EDIT BY HAND!!!
|
2008-12-10 05:08:54 +00:00
|
|
|
|
|
|
|
// Copyright 2008, 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.
|
|
|
|
|
|
|
|
// Google Mock - a framework for writing C++ mock classes.
|
|
|
|
//
|
|
|
|
// This file implements some commonly used variadic matchers.
|
|
|
|
|
2018-07-27 15:15:08 +00:00
|
|
|
// GOOGLETEST_CM0002 DO NOT DELETE
|
|
|
|
|
2008-12-10 05:08:54 +00:00
|
|
|
#ifndef GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_MATCHERS_H_
|
|
|
|
#define GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_MATCHERS_H_
|
|
|
|
|
2012-11-15 15:50:36 +00:00
|
|
|
#include <iterator>
|
2008-12-10 05:08:54 +00:00
|
|
|
#include <sstream>
|
|
|
|
#include <string>
|
2018-10-16 19:29:37 +00:00
|
|
|
#include <utility>
|
2008-12-10 05:08:54 +00:00
|
|
|
#include <vector>
|
2010-09-14 05:38:21 +00:00
|
|
|
#include "gmock/gmock-matchers.h"
|
2008-12-10 05:08:54 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER(name, description)\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##Matcher : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##Matcher> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##Matcher>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2010-06-08 22:53:57 +00:00
|
|
|
gmock_Impl()\
|
|
|
|
{}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<>()));\
|
2010-06-08 22:53:57 +00:00
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
inline name##Matcher name() {\
|
|
|
|
return name##Matcher();\
|
|
|
|
}\
|
|
|
|
template <typename arg_type>\
|
2010-01-08 21:55:40 +00:00
|
|
|
bool name##Matcher::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P(name, description, p0)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP<p0##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2010-06-08 22:53:57 +00:00
|
|
|
explicit gmock_Impl(p0##_type gmock_p0)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type>(p0)));\
|
2010-06-08 22:53:57 +00:00
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type>\
|
|
|
|
inline name##MatcherP<p0##_type> name(p0##_type p0) {\
|
|
|
|
return name##MatcherP<p0##_type>(p0);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type>\
|
|
|
|
template <typename arg_type>\
|
2010-01-08 21:55:40 +00:00
|
|
|
bool name##MatcherP<p0##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P2(name, description, p0, p1)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP2 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP2<p0##_type, \
|
|
|
|
p1##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP2>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2010-06-08 22:53:57 +00:00
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type>(p0, p1)));\
|
2010-06-08 22:53:57 +00:00
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type>\
|
|
|
|
inline name##MatcherP2<p0##_type, p1##_type> name(p0##_type p0, \
|
|
|
|
p1##_type p1) {\
|
|
|
|
return name##MatcherP2<p0##_type, p1##_type>(p0, p1);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type>\
|
|
|
|
template <typename arg_type>\
|
2010-01-08 21:55:40 +00:00
|
|
|
bool name##MatcherP2<p0##_type, \
|
|
|
|
p1##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P3(name, description, p0, p1, p2)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP3 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP3<p0##_type, \
|
|
|
|
p1##_type, p2##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP3>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2010-06-08 22:53:57 +00:00
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type>(p0, p1, p2)));\
|
2010-06-08 22:53:57 +00:00
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type>\
|
|
|
|
inline name##MatcherP3<p0##_type, p1##_type, p2##_type> name(p0##_type p0, \
|
|
|
|
p1##_type p1, p2##_type p2) {\
|
|
|
|
return name##MatcherP3<p0##_type, p1##_type, p2##_type>(p0, p1, p2);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type>\
|
|
|
|
template <typename arg_type>\
|
2010-01-08 21:55:40 +00:00
|
|
|
bool name##MatcherP3<p0##_type, p1##_type, \
|
|
|
|
p2##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P4(name, description, p0, p1, p2, p3)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP4 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP4<p0##_type, \
|
|
|
|
p1##_type, p2##_type, p3##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP4>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p3##_type gmock_p3)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)), p3(::std::move(gmock_p3)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
|
|
|
p3##_type const p3;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type, p3##_type>(p0, \
|
|
|
|
p1, p2, p3)));\
|
2010-06-08 22:53:57 +00:00
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type>\
|
|
|
|
inline name##MatcherP4<p0##_type, p1##_type, p2##_type, \
|
|
|
|
p3##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, \
|
|
|
|
p3##_type p3) {\
|
|
|
|
return name##MatcherP4<p0##_type, p1##_type, p2##_type, p3##_type>(p0, \
|
|
|
|
p1, p2, p3);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type>\
|
|
|
|
template <typename arg_type>\
|
2010-01-08 21:55:40 +00:00
|
|
|
bool name##MatcherP4<p0##_type, p1##_type, p2##_type, \
|
|
|
|
p3##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P5(name, description, p0, p1, p2, p3, p4)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP5 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP5<p0##_type, \
|
|
|
|
p1##_type, p2##_type, p3##_type, p4##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP5>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p3##_type gmock_p3, p4##_type gmock_p4)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)), p3(::std::move(gmock_p3)), \
|
|
|
|
p4(::std::move(gmock_p4)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
|
|
|
p3##_type const p3;\
|
|
|
|
p4##_type const p4;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p4##_type>(p0, p1, p2, p3, p4)));\
|
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type>\
|
|
|
|
inline name##MatcherP5<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, p3##_type p3, \
|
|
|
|
p4##_type p4) {\
|
|
|
|
return name##MatcherP5<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type>(p0, p1, p2, p3, p4);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type>\
|
|
|
|
template <typename arg_type>\
|
2010-01-08 21:55:40 +00:00
|
|
|
bool name##MatcherP5<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P6(name, description, p0, p1, p2, p3, p4, p5)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP6 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP6<p0##_type, \
|
|
|
|
p1##_type, p2##_type, p3##_type, p4##_type, p5##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP6>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)), p3(::std::move(gmock_p3)), \
|
|
|
|
p4(::std::move(gmock_p4)), p5(::std::move(gmock_p5)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
|
|
|
p3##_type const p3;\
|
|
|
|
p4##_type const p4;\
|
|
|
|
p5##_type const p5;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p4##_type, p5##_type>(p0, p1, p2, p3, p4, p5)));\
|
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type>\
|
|
|
|
inline name##MatcherP6<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, \
|
|
|
|
p3##_type p3, p4##_type p4, p5##_type p5) {\
|
|
|
|
return name##MatcherP6<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type>(p0, p1, p2, p3, p4, p5);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type>\
|
|
|
|
template <typename arg_type>\
|
|
|
|
bool name##MatcherP6<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \
|
2010-01-08 21:55:40 +00:00
|
|
|
p5##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P7(name, description, p0, p1, p2, p3, p4, p5, \
|
|
|
|
p6)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP7 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP7<p0##_type, \
|
|
|
|
p1##_type, p2##_type, p3##_type, p4##_type, p5##_type, p6##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP7>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \
|
|
|
|
p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p6##_type gmock_p6)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)), p3(::std::move(gmock_p3)), \
|
|
|
|
p4(::std::move(gmock_p4)), p5(::std::move(gmock_p5)), \
|
|
|
|
p6(::std::move(gmock_p6)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
|
|
|
p3##_type const p3;\
|
|
|
|
p4##_type const p4;\
|
|
|
|
p5##_type const p5;\
|
|
|
|
p6##_type const p6;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p4##_type, p5##_type, p6##_type>(p0, p1, p2, p3, p4, p5, \
|
|
|
|
p6)));\
|
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type>\
|
|
|
|
inline name##MatcherP7<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type> name(p0##_type p0, p1##_type p1, \
|
|
|
|
p2##_type p2, p3##_type p3, p4##_type p4, p5##_type p5, \
|
|
|
|
p6##_type p6) {\
|
|
|
|
return name##MatcherP7<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type>(p0, p1, p2, p3, p4, p5, p6);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type>\
|
|
|
|
template <typename arg_type>\
|
|
|
|
bool name##MatcherP7<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \
|
2010-01-08 21:55:40 +00:00
|
|
|
p5##_type, p6##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P8(name, description, p0, p1, p2, p3, p4, p5, \
|
|
|
|
p6, p7)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP8 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP8<p0##_type, \
|
|
|
|
p1##_type, p2##_type, p3##_type, p4##_type, p5##_type, p6##_type, \
|
|
|
|
p7##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP8>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \
|
|
|
|
p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p6##_type gmock_p6, p7##_type gmock_p7)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)), p3(::std::move(gmock_p3)), \
|
|
|
|
p4(::std::move(gmock_p4)), p5(::std::move(gmock_p5)), \
|
|
|
|
p6(::std::move(gmock_p6)), p7(::std::move(gmock_p7)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
|
|
|
p3##_type const p3;\
|
|
|
|
p4##_type const p4;\
|
|
|
|
p5##_type const p5;\
|
|
|
|
p6##_type const p6;\
|
|
|
|
p7##_type const p7;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type>(p0, p1, p2, \
|
|
|
|
p3, p4, p5, p6, p7)));\
|
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type>\
|
|
|
|
inline name##MatcherP8<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type> name(p0##_type p0, \
|
|
|
|
p1##_type p1, p2##_type p2, p3##_type p3, p4##_type p4, p5##_type p5, \
|
|
|
|
p6##_type p6, p7##_type p7) {\
|
|
|
|
return name##MatcherP8<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type>(p0, p1, p2, p3, p4, p5, \
|
|
|
|
p6, p7);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type>\
|
|
|
|
template <typename arg_type>\
|
|
|
|
bool name##MatcherP8<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \
|
2010-01-08 21:55:40 +00:00
|
|
|
p5##_type, p6##_type, \
|
|
|
|
p7##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P9(name, description, p0, p1, p2, p3, p4, p5, \
|
|
|
|
p6, p7, p8)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type, typename p8##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP9 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP9<p0##_type, \
|
|
|
|
p1##_type, p2##_type, p3##_type, p4##_type, p5##_type, p6##_type, \
|
|
|
|
p7##_type, p8##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP9>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \
|
|
|
|
p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)), p3(::std::move(gmock_p3)), \
|
|
|
|
p4(::std::move(gmock_p4)), p5(::std::move(gmock_p5)), \
|
|
|
|
p6(::std::move(gmock_p6)), p7(::std::move(gmock_p7)), \
|
|
|
|
p8(::std::move(gmock_p8)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
|
|
|
p3##_type const p3;\
|
|
|
|
p4##_type const p4;\
|
|
|
|
p5##_type const p5;\
|
|
|
|
p6##_type const p6;\
|
|
|
|
p7##_type const p7;\
|
|
|
|
p8##_type const p8;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type, \
|
|
|
|
p8##_type>(p0, p1, p2, p3, p4, p5, p6, p7, p8)));\
|
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type, typename p8##_type>\
|
|
|
|
inline name##MatcherP9<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type, \
|
|
|
|
p8##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, p3##_type p3, \
|
|
|
|
p4##_type p4, p5##_type p5, p6##_type p6, p7##_type p7, \
|
|
|
|
p8##_type p8) {\
|
|
|
|
return name##MatcherP9<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type, p8##_type>(p0, p1, p2, \
|
|
|
|
p3, p4, p5, p6, p7, p8);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type, typename p8##_type>\
|
|
|
|
template <typename arg_type>\
|
|
|
|
bool name##MatcherP9<p0##_type, p1##_type, p2##_type, p3##_type, p4##_type, \
|
2010-01-08 21:55:40 +00:00
|
|
|
p5##_type, p6##_type, p7##_type, \
|
|
|
|
p8##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2020-01-27 16:07:58 +00:00
|
|
|
#define GMOCK_INTERNAL_MATCHER_P10(name, description, p0, p1, p2, p3, p4, p5, \
|
|
|
|
p6, p7, p8, p9)\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type, typename p8##_type, \
|
|
|
|
typename p9##_type>\
|
2020-01-24 19:09:22 +00:00
|
|
|
class name##MatcherP10 : public \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP10<p0##_type, \
|
|
|
|
p1##_type, p2##_type, p3##_type, p4##_type, p5##_type, p6##_type, \
|
|
|
|
p7##_type, p8##_type, p9##_type>> {\
|
|
|
|
using __internal_base_type = \
|
|
|
|
::testing::internal::MatcherBaseImpl<name##MatcherP10>;\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
2020-01-24 19:09:22 +00:00
|
|
|
using __internal_base_type::__internal_base_type;\
|
2009-02-12 01:34:27 +00:00
|
|
|
template <typename arg_type>\
|
2018-04-16 15:18:49 +00:00
|
|
|
class gmock_Impl : public ::testing::MatcherInterface<\
|
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type)> {\
|
2009-02-12 01:34:27 +00:00
|
|
|
public:\
|
|
|
|
gmock_Impl(p0##_type gmock_p0, p1##_type gmock_p1, p2##_type gmock_p2, \
|
|
|
|
p3##_type gmock_p3, p4##_type gmock_p4, p5##_type gmock_p5, \
|
|
|
|
p6##_type gmock_p6, p7##_type gmock_p7, p8##_type gmock_p8, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p9##_type gmock_p9)\
|
2018-10-16 19:29:37 +00:00
|
|
|
: p0(::std::move(gmock_p0)), p1(::std::move(gmock_p1)), \
|
|
|
|
p2(::std::move(gmock_p2)), p3(::std::move(gmock_p3)), \
|
|
|
|
p4(::std::move(gmock_p4)), p5(::std::move(gmock_p5)), \
|
|
|
|
p6(::std::move(gmock_p6)), p7(::std::move(gmock_p7)), \
|
|
|
|
p8(::std::move(gmock_p8)), p9(::std::move(gmock_p9)) {}\
|
2019-10-09 19:48:00 +00:00
|
|
|
bool MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2019-10-09 19:48:00 +00:00
|
|
|
::testing::MatchResultListener* result_listener) const override;\
|
|
|
|
void DescribeTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(false);\
|
|
|
|
}\
|
2019-10-09 19:48:00 +00:00
|
|
|
void DescribeNegationTo(::std::ostream* gmock_os) const override {\
|
2010-06-08 22:53:57 +00:00
|
|
|
*gmock_os << FormatDescription(true);\
|
2009-02-12 01:34:27 +00:00
|
|
|
}\
|
2018-04-16 15:18:49 +00:00
|
|
|
p0##_type const p0;\
|
|
|
|
p1##_type const p1;\
|
|
|
|
p2##_type const p2;\
|
|
|
|
p3##_type const p3;\
|
|
|
|
p4##_type const p4;\
|
|
|
|
p5##_type const p5;\
|
|
|
|
p6##_type const p6;\
|
|
|
|
p7##_type const p7;\
|
|
|
|
p8##_type const p8;\
|
|
|
|
p9##_type const p9;\
|
2009-12-23 00:13:23 +00:00
|
|
|
private:\
|
2018-04-16 15:18:49 +00:00
|
|
|
::std::string FormatDescription(bool negation) const {\
|
|
|
|
::std::string gmock_description = (description);\
|
2018-09-09 23:45:14 +00:00
|
|
|
if (!gmock_description.empty()) {\
|
2010-06-08 22:53:57 +00:00
|
|
|
return gmock_description;\
|
2018-09-09 23:45:14 +00:00
|
|
|
}\
|
2010-06-08 22:53:57 +00:00
|
|
|
return ::testing::internal::FormatMatcherDescription(\
|
2012-04-10 16:02:11 +00:00
|
|
|
negation, #name, \
|
2010-06-08 22:53:57 +00:00
|
|
|
::testing::internal::UniversalTersePrintTupleFieldsToStrings(\
|
2018-10-09 18:50:26 +00:00
|
|
|
::std::tuple<p0##_type, p1##_type, p2##_type, p3##_type, \
|
2010-06-08 22:53:57 +00:00
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, \
|
|
|
|
p9##_type>(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)));\
|
|
|
|
}\
|
2009-02-12 01:34:27 +00:00
|
|
|
};\
|
|
|
|
};\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type, typename p8##_type, \
|
|
|
|
typename p9##_type>\
|
|
|
|
inline name##MatcherP10<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, \
|
|
|
|
p9##_type> name(p0##_type p0, p1##_type p1, p2##_type p2, p3##_type p3, \
|
|
|
|
p4##_type p4, p5##_type p5, p6##_type p6, p7##_type p7, p8##_type p8, \
|
|
|
|
p9##_type p9) {\
|
|
|
|
return name##MatcherP10<p0##_type, p1##_type, p2##_type, p3##_type, \
|
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, p9##_type>(p0, \
|
|
|
|
p1, p2, p3, p4, p5, p6, p7, p8, p9);\
|
|
|
|
}\
|
|
|
|
template <typename p0##_type, typename p1##_type, typename p2##_type, \
|
|
|
|
typename p3##_type, typename p4##_type, typename p5##_type, \
|
|
|
|
typename p6##_type, typename p7##_type, typename p8##_type, \
|
|
|
|
typename p9##_type>\
|
|
|
|
template <typename arg_type>\
|
|
|
|
bool name##MatcherP10<p0##_type, p1##_type, p2##_type, p3##_type, \
|
2010-01-08 21:55:40 +00:00
|
|
|
p4##_type, p5##_type, p6##_type, p7##_type, p8##_type, \
|
|
|
|
p9##_type>::gmock_Impl<arg_type>::MatchAndExplain(\
|
2018-04-16 15:18:49 +00:00
|
|
|
GTEST_REFERENCE_TO_CONST_(arg_type) arg,\
|
2010-01-08 21:55:40 +00:00
|
|
|
::testing::MatchResultListener* result_listener GTEST_ATTRIBUTE_UNUSED_)\
|
|
|
|
const
|
2009-02-12 01:34:27 +00:00
|
|
|
|
2008-12-10 05:08:54 +00:00
|
|
|
#endif // GMOCK_INCLUDE_GMOCK_GMOCK_GENERATED_MATCHERS_H_
|