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,
95 << e1 <<
") evaluates to false, where" 96 <<
"\n" << e1 <<
" evaluates to " << v1;
101 #define GTEST_PRED_FORMAT1_(pred_format, v1, on_failure)\ 102 GTEST_ASSERT_(pred_format(#v1, v1), \ 107 #define GTEST_PRED1_(pred, v1, on_failure)\ 108 GTEST_ASSERT_(::testing::AssertPred1Helper(#pred, \ 114 #define EXPECT_PRED_FORMAT1(pred_format, v1) \ 115 GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_NONFATAL_FAILURE_) 116 #define EXPECT_PRED1(pred, v1) \ 117 GTEST_PRED1_(pred, v1, GTEST_NONFATAL_FAILURE_) 118 #define ASSERT_PRED_FORMAT1(pred_format, v1) \ 119 GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_FATAL_FAILURE_) 120 #define ASSERT_PRED1(pred, v1) \ 121 GTEST_PRED1_(pred, v1, GTEST_FATAL_FAILURE_) 127 template <
typename Pred,
141 << e2 <<
") evaluates to false, where" 142 <<
"\n" << e1 <<
" evaluates to " << v1
143 <<
"\n" << e2 <<
" evaluates to " << v2;
148 #define GTEST_PRED_FORMAT2_(pred_format, v1, v2, on_failure)\ 149 GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \ 154 #define GTEST_PRED2_(pred, v1, v2, on_failure)\ 155 GTEST_ASSERT_(::testing::AssertPred2Helper(#pred, \ 163 #define EXPECT_PRED_FORMAT2(pred_format, v1, v2) \ 164 GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_) 165 #define EXPECT_PRED2(pred, v1, v2) \ 166 GTEST_PRED2_(pred, v1, v2, GTEST_NONFATAL_FAILURE_) 167 #define ASSERT_PRED_FORMAT2(pred_format, v1, v2) \ 168 GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_) 169 #define ASSERT_PRED2(pred, v1, v2) \ 170 GTEST_PRED2_(pred, v1, v2, GTEST_FATAL_FAILURE_) 176 template <
typename Pred,
194 << e3 <<
") evaluates to false, where" 195 <<
"\n" << e1 <<
" evaluates to " << v1
196 <<
"\n" << e2 <<
" evaluates to " << v2
197 <<
"\n" << e3 <<
" evaluates to " << v3;
202 #define GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, on_failure)\ 203 GTEST_ASSERT_(pred_format(#v1, #v2, #v3, v1, v2, v3), \ 208 #define GTEST_PRED3_(pred, v1, v2, v3, on_failure)\ 209 GTEST_ASSERT_(::testing::AssertPred3Helper(#pred, \ 219 #define EXPECT_PRED_FORMAT3(pred_format, v1, v2, v3) \ 220 GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_NONFATAL_FAILURE_) 221 #define EXPECT_PRED3(pred, v1, v2, v3) \ 222 GTEST_PRED3_(pred, v1, v2, v3, GTEST_NONFATAL_FAILURE_) 223 #define ASSERT_PRED_FORMAT3(pred_format, v1, v2, v3) \ 224 GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_FATAL_FAILURE_) 225 #define ASSERT_PRED3(pred, v1, v2, v3) \ 226 GTEST_PRED3_(pred, v1, v2, v3, GTEST_FATAL_FAILURE_) 232 template <
typename Pred,
254 << e4 <<
") evaluates to false, where" 255 <<
"\n" << e1 <<
" evaluates to " << v1
256 <<
"\n" << e2 <<
" evaluates to " << v2
257 <<
"\n" << e3 <<
" evaluates to " << v3
258 <<
"\n" << e4 <<
" evaluates to " << v4;
263 #define GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, on_failure)\ 264 GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, v1, v2, v3, v4), \ 269 #define GTEST_PRED4_(pred, v1, v2, v3, v4, on_failure)\ 270 GTEST_ASSERT_(::testing::AssertPred4Helper(#pred, \ 282 #define EXPECT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ 283 GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) 284 #define EXPECT_PRED4(pred, v1, v2, v3, v4) \ 285 GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) 286 #define ASSERT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ 287 GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) 288 #define ASSERT_PRED4(pred, v1, v2, v3, v4) \ 289 GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) 295 template <
typename Pred,
321 << e5 <<
") evaluates to false, where" 322 <<
"\n" << e1 <<
" evaluates to " << v1
323 <<
"\n" << e2 <<
" evaluates to " << v2
324 <<
"\n" << e3 <<
" evaluates to " << v3
325 <<
"\n" << e4 <<
" evaluates to " << v4
326 <<
"\n" << e5 <<
" evaluates to " << v5;
331 #define GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, on_failure)\ 332 GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, #v5, v1, v2, v3, v4, v5), \ 337 #define GTEST_PRED5_(pred, v1, v2, v3, v4, v5, on_failure)\ 338 GTEST_ASSERT_(::testing::AssertPred5Helper(#pred, \ 352 #define EXPECT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ 353 GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) 354 #define EXPECT_PRED5(pred, v1, v2, v3, v4, v5) \ 355 GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) 356 #define ASSERT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ 357 GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) 358 #define ASSERT_PRED5(pred, v1, v2, v3, v4, v5) \ 359 GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) 363 #endif // GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ AssertionResult AssertionFailure()
AssertionResult AssertPred1Helper(const char *pred_text, const char *e1, Pred pred, const T1 &v1)
AssertionResult AssertionSuccess()
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)
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)
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)
AssertionResult AssertPred2Helper(const char *pred_text, const char *e1, const char *e2, Pred pred, const T1 &v1, const T2 &v2)