35 #ifndef GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ 
   36 #define GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ 
   39 #ifndef GTEST_INCLUDE_GTEST_GTEST_H_ 
   40 # error Do not include gtest_pred_impl.h directly.  Include gtest.h instead. 
   41 #endif  // GTEST_INCLUDE_GTEST_GTEST_H_ 
   75 #define GTEST_ASSERT_(expression, on_failure) \ 
   76   GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ 
   77   if (const ::testing::AssertionResult gtest_ar = (expression)) \ 
   80     on_failure(gtest_ar.failure_message()) 
   85 template <
typename Pred,
 
   94                             << e1 << 
") evaluates to false, where" 
   95                             << 
"\n" << e1 << 
" evaluates to " << v1;
 
  100 #define GTEST_PRED_FORMAT1_(pred_format, v1, on_failure)\ 
  101   GTEST_ASSERT_(pred_format(#v1, v1), \ 
  106 #define GTEST_PRED1_(pred, v1, on_failure)\ 
  107   GTEST_ASSERT_(::testing::AssertPred1Helper(#pred, \ 
  113 #define EXPECT_PRED_FORMAT1(pred_format, v1) \ 
  114   GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_NONFATAL_FAILURE_) 
  115 #define EXPECT_PRED1(pred, v1) \ 
  116   GTEST_PRED1_(pred, v1, GTEST_NONFATAL_FAILURE_) 
  117 #define ASSERT_PRED_FORMAT1(pred_format, v1) \ 
  118   GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_FATAL_FAILURE_) 
  119 #define ASSERT_PRED1(pred, v1) \ 
  120   GTEST_PRED1_(pred, v1, GTEST_FATAL_FAILURE_) 
  126 template <
typename Pred,
 
  139                             << e2 << 
") evaluates to false, where" 
  140                             << 
"\n" << e1 << 
" evaluates to " << v1
 
  141                             << 
"\n" << e2 << 
" evaluates to " << v2;
 
  146 #define GTEST_PRED_FORMAT2_(pred_format, v1, v2, on_failure)\ 
  147   GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \ 
  152 #define GTEST_PRED2_(pred, v1, v2, on_failure)\ 
  153   GTEST_ASSERT_(::testing::AssertPred2Helper(#pred, \ 
  161 #define EXPECT_PRED_FORMAT2(pred_format, v1, v2) \ 
  162   GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_) 
  163 #define EXPECT_PRED2(pred, v1, v2) \ 
  164   GTEST_PRED2_(pred, v1, v2, GTEST_NONFATAL_FAILURE_) 
  165 #define ASSERT_PRED_FORMAT2(pred_format, v1, v2) \ 
  166   GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_) 
  167 #define ASSERT_PRED2(pred, v1, v2) \ 
  168   GTEST_PRED2_(pred, v1, v2, GTEST_FATAL_FAILURE_) 
  174 template <
typename Pred,
 
  191                             << e3 << 
") evaluates to false, where" 
  192                             << 
"\n" << e1 << 
" evaluates to " << v1
 
  193                             << 
"\n" << e2 << 
" evaluates to " << v2
 
  194                             << 
"\n" << e3 << 
" evaluates to " << v3;
 
  199 #define GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, on_failure)\ 
  200   GTEST_ASSERT_(pred_format(#v1, #v2, #v3, v1, v2, v3), \ 
  205 #define GTEST_PRED3_(pred, v1, v2, v3, on_failure)\ 
  206   GTEST_ASSERT_(::testing::AssertPred3Helper(#pred, \ 
  216 #define EXPECT_PRED_FORMAT3(pred_format, v1, v2, v3) \ 
  217   GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_NONFATAL_FAILURE_) 
  218 #define EXPECT_PRED3(pred, v1, v2, v3) \ 
  219   GTEST_PRED3_(pred, v1, v2, v3, GTEST_NONFATAL_FAILURE_) 
  220 #define ASSERT_PRED_FORMAT3(pred_format, v1, v2, v3) \ 
  221   GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_FATAL_FAILURE_) 
  222 #define ASSERT_PRED3(pred, v1, v2, v3) \ 
  223   GTEST_PRED3_(pred, v1, v2, v3, GTEST_FATAL_FAILURE_) 
  229 template <
typename Pred,
 
  250                             << e4 << 
") evaluates to false, where" 
  251                             << 
"\n" << e1 << 
" evaluates to " << v1
 
  252                             << 
"\n" << e2 << 
" evaluates to " << v2
 
  253                             << 
"\n" << e3 << 
" evaluates to " << v3
 
  254                             << 
"\n" << e4 << 
" evaluates to " << v4;
 
  259 #define GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, on_failure)\ 
  260   GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, v1, v2, v3, v4), \ 
  265 #define GTEST_PRED4_(pred, v1, v2, v3, v4, on_failure)\ 
  266   GTEST_ASSERT_(::testing::AssertPred4Helper(#pred, \ 
  278 #define EXPECT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ 
  279   GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) 
  280 #define EXPECT_PRED4(pred, v1, v2, v3, v4) \ 
  281   GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) 
  282 #define ASSERT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ 
  283   GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) 
  284 #define ASSERT_PRED4(pred, v1, v2, v3, v4) \ 
  285   GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) 
  291 template <
typename Pred,
 
  316                             << e5 << 
") evaluates to false, where" 
  317                             << 
"\n" << e1 << 
" evaluates to " << v1
 
  318                             << 
"\n" << e2 << 
" evaluates to " << v2
 
  319                             << 
"\n" << e3 << 
" evaluates to " << v3
 
  320                             << 
"\n" << e4 << 
" evaluates to " << v4
 
  321                             << 
"\n" << e5 << 
" evaluates to " << v5;
 
  326 #define GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, on_failure)\ 
  327   GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, #v5, v1, v2, v3, v4, v5), \ 
  332 #define GTEST_PRED5_(pred, v1, v2, v3, v4, v5, on_failure)\ 
  333   GTEST_ASSERT_(::testing::AssertPred5Helper(#pred, \ 
  347 #define EXPECT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ 
  348   GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) 
  349 #define EXPECT_PRED5(pred, v1, v2, v3, v4, v5) \ 
  350   GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) 
  351 #define ASSERT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ 
  352   GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) 
  353 #define ASSERT_PRED5(pred, v1, v2, v3, v4, v5) \ 
  354   GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) 
  358 #endif  // GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ 
GTEST_API_ AssertionResult AssertionFailure()
Definition: gtest.cc:973
AssertionResult AssertPred5Helper(const char *pred_text, const char *e1, const char *e2, const char *e3, const char *e4, const char *e5, Pred pred, const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4, const T5 &v5)
Definition: gtest_pred_impl.h:297
FLOAT e1(FLOAT z)
Definition: y1.cc:144
AssertionResult AssertPred2Helper(const char *pred_text, const char *e1, const char *e2, Pred pred, const T1 &v1, const T2 &v2)
Definition: gtest_pred_impl.h:129
GTEST_API_ AssertionResult AssertionSuccess()
Definition: gtest.cc:968
AssertionResult AssertPred4Helper(const char *pred_text, const char *e1, const char *e2, const char *e3, const char *e4, Pred pred, const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4)
Definition: gtest_pred_impl.h:234
AssertionResult AssertPred3Helper(const char *pred_text, const char *e1, const char *e2, const char *e3, Pred pred, const T1 &v1, const T2 &v2, const T3 &v3)
Definition: gtest_pred_impl.h:178
AssertionResult AssertPred1Helper(const char *pred_text, const char *e1, Pred pred, const T1 &v1)
Definition: gtest_pred_impl.h:87