- // Copyright 2006, 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. 
-   
- // This file is AUTOMATICALLY GENERATED on 01/02/2018 by command 
- // 'gen_gtest_pred_impl.py 5'.  DO NOT EDIT BY HAND! 
-   
- // Regression test for gtest_pred_impl.h 
- // 
- // This file is generated by a script and quite long.  If you intend to 
- // learn how Google Test works by reading its unit tests, read 
- // gtest_unittest.cc instead. 
- // 
- // This is intended as a regression test for the Google Test predicate 
- // assertions.  We compile it as part of the gtest_unittest target 
- // only to keep the implementation tidy and compact, as it is quite 
- // involved to set up the stage for testing Google Test using Google 
- // Test itself. 
- // 
- // Currently, gtest_unittest takes ~11 seconds to run in the testing 
- // daemon.  In the future, if it grows too large and needs much more 
- // time to finish, we should consider separating this file into a 
- // stand-alone regression test. 
-   
- #include <iostream> 
-   
- #include "gtest/gtest.h" 
- #include "gtest/gtest-spi.h" 
-   
- // A user-defined data type. 
- struct Bool { 
-   explicit Bool(int val) : value(val != 0) {} 
-   
-   bool operator>(int n) const { return value > Bool(n).value; } 
-   
-   Bool operator+(const Bool& rhs) const { return Bool(value + rhs.value); } 
-   
-   bool operator==(const Bool& rhs) const { return value == rhs.value; } 
-   
-   bool value; 
- }; 
-   
- // Enables Bool to be used in assertions. 
- std::ostream& operator<<(std::ostream& os, const Bool& x) { 
-   return os << (x.value ? "true" : "false"); 
- } 
-   
- // Sample functions/functors for testing unary predicate assertions. 
-   
- // A unary predicate function. 
- template <typename T1> 
- bool PredFunction1(T1 v1) { 
-   return v1 > 0; 
- } 
-   
- // The following two functions are needed to circumvent a bug in 
- // gcc 2.95.3, which sometimes has problem with the above template 
- // function. 
- bool PredFunction1Int(int v1) { 
-   return v1 > 0; 
- } 
- bool PredFunction1Bool(Bool v1) { 
-   return v1 > 0; 
- } 
-   
- // A unary predicate functor. 
- struct PredFunctor1 { 
-   template <typename T1> 
-   bool operator()(const T1& v1) { 
-     return v1 > 0; 
-   } 
- }; 
-   
- // A unary predicate-formatter function. 
- template <typename T1> 
- testing::AssertionResult PredFormatFunction1(const char* e1, 
-                                              const T1& v1) { 
-   if (PredFunction1(v1)) 
-     return testing::AssertionSuccess(); 
-   
-   return testing::AssertionFailure() 
-       << e1 
-       << " is expected to be positive, but evaluates to " 
-       << v1 << "."; 
- } 
-   
- // A unary predicate-formatter functor. 
- struct PredFormatFunctor1 { 
-   template <typename T1> 
-   testing::AssertionResult operator()(const char* e1, 
-                                       const T1& v1) const { 
-     return PredFormatFunction1(e1, v1); 
-   } 
- }; 
-   
- // Tests for {EXPECT|ASSERT}_PRED_FORMAT1. 
-   
- class Predicate1Test : public testing::Test { 
-  protected: 
-   virtual void SetUp() { 
-     expected_to_finish_ = true; 
-     finished_ = false; 
-     n1_ = 0; 
-   } 
-   
-   virtual void TearDown() { 
-     // Verifies that each of the predicate's arguments was evaluated 
-     // exactly once. 
-     EXPECT_EQ(1, n1_) << 
-         "The predicate assertion didn't evaluate argument 2 " 
-         "exactly once."; 
-   
-     // Verifies that the control flow in the test function is expected. 
-     if (expected_to_finish_ && !finished_) { 
-       FAIL() << "The predicate assertion unexpactedly aborted the test."; 
-     } else if (!expected_to_finish_ && finished_) { 
-       FAIL() << "The failed predicate assertion didn't abort the test " 
-                 "as expected."; 
-     } 
-   } 
-   
-   // true iff the test function is expected to run to finish. 
-   static bool expected_to_finish_; 
-   
-   // true iff the test function did run to finish. 
-   static bool finished_; 
-   
-   static int n1_; 
- }; 
-   
- bool Predicate1Test::expected_to_finish_; 
- bool Predicate1Test::finished_; 
- int Predicate1Test::n1_; 
-   
- typedef Predicate1Test EXPECT_PRED_FORMAT1Test; 
- typedef Predicate1Test ASSERT_PRED_FORMAT1Test; 
- typedef Predicate1Test EXPECT_PRED1Test; 
- typedef Predicate1Test ASSERT_PRED1Test; 
-   
- // Tests a successful EXPECT_PRED1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED1Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED1(PredFunction1Int, 
-                ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED1Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED1(PredFunction1Bool, 
-                Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED1Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED1(PredFunctor1(), 
-                ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED1Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED1(PredFunctor1(), 
-                Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED1Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED1(PredFunction1Int, 
-                  n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED1Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED1(PredFunction1Bool, 
-                  Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED1Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED1(PredFunctor1(), 
-                  n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED1Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED1(PredFunctor1(), 
-                  Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED1Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED1(PredFunction1Int, 
-                ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED1Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED1(PredFunction1Bool, 
-                Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED1Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED1(PredFunctor1(), 
-                ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED1Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED1(PredFunctor1(), 
-                Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED1Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED1(PredFunction1Int, 
-                  n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED1Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED1(PredFunction1Bool, 
-                  Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED1Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED1(PredFunctor1(), 
-                  n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED1Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED1(PredFunctor1(), 
-                  Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT1(PredFormatFunction1, 
-                       ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT1(PredFormatFunction1, 
-                       Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT1(PredFormatFunctor1(), 
-                       ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT1(PredFormatFunctor1(), 
-                       Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT1(PredFormatFunction1, 
-                         n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT1(PredFormatFunction1, 
-                         Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT1(PredFormatFunctor1(), 
-                         n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT1Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT1(PredFormatFunctor1(), 
-                         Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT1(PredFormatFunction1, 
-                       ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT1(PredFormatFunction1, 
-                       Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT1(PredFormatFunctor1(), 
-                       ++n1_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT1(PredFormatFunctor1(), 
-                       Bool(++n1_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT1(PredFormatFunction1, 
-                         n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT1(PredFormatFunction1, 
-                         Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT1(PredFormatFunctor1(), 
-                         n1_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT1 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT1Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT1(PredFormatFunctor1(), 
-                         Bool(n1_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
- // Sample functions/functors for testing binary predicate assertions. 
-   
- // A binary predicate function. 
- template <typename T1, typename T2> 
- bool PredFunction2(T1 v1, T2 v2) { 
-   return v1 + v2 > 0; 
- } 
-   
- // The following two functions are needed to circumvent a bug in 
- // gcc 2.95.3, which sometimes has problem with the above template 
- // function. 
- bool PredFunction2Int(int v1, int v2) { 
-   return v1 + v2 > 0; 
- } 
- bool PredFunction2Bool(Bool v1, Bool v2) { 
-   return v1 + v2 > 0; 
- } 
-   
- // A binary predicate functor. 
- struct PredFunctor2 { 
-   template <typename T1, typename T2> 
-   bool operator()(const T1& v1, 
-                   const T2& v2) { 
-     return v1 + v2 > 0; 
-   } 
- }; 
-   
- // A binary predicate-formatter function. 
- template <typename T1, typename T2> 
- testing::AssertionResult PredFormatFunction2(const char* e1, 
-                                              const char* e2, 
-                                              const T1& v1, 
-                                              const T2& v2) { 
-   if (PredFunction2(v1, v2)) 
-     return testing::AssertionSuccess(); 
-   
-   return testing::AssertionFailure() 
-       << e1 << " + " << e2 
-       << " is expected to be positive, but evaluates to " 
-       << v1 + v2 << "."; 
- } 
-   
- // A binary predicate-formatter functor. 
- struct PredFormatFunctor2 { 
-   template <typename T1, typename T2> 
-   testing::AssertionResult operator()(const char* e1, 
-                                       const char* e2, 
-                                       const T1& v1, 
-                                       const T2& v2) const { 
-     return PredFormatFunction2(e1, e2, v1, v2); 
-   } 
- }; 
-   
- // Tests for {EXPECT|ASSERT}_PRED_FORMAT2. 
-   
- class Predicate2Test : public testing::Test { 
-  protected: 
-   virtual void SetUp() { 
-     expected_to_finish_ = true; 
-     finished_ = false; 
-     n1_ = n2_ = 0; 
-   } 
-   
-   virtual void TearDown() { 
-     // Verifies that each of the predicate's arguments was evaluated 
-     // exactly once. 
-     EXPECT_EQ(1, n1_) << 
-         "The predicate assertion didn't evaluate argument 2 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n2_) << 
-         "The predicate assertion didn't evaluate argument 3 " 
-         "exactly once."; 
-   
-     // Verifies that the control flow in the test function is expected. 
-     if (expected_to_finish_ && !finished_) { 
-       FAIL() << "The predicate assertion unexpactedly aborted the test."; 
-     } else if (!expected_to_finish_ && finished_) { 
-       FAIL() << "The failed predicate assertion didn't abort the test " 
-                 "as expected."; 
-     } 
-   } 
-   
-   // true iff the test function is expected to run to finish. 
-   static bool expected_to_finish_; 
-   
-   // true iff the test function did run to finish. 
-   static bool finished_; 
-   
-   static int n1_; 
-   static int n2_; 
- }; 
-   
- bool Predicate2Test::expected_to_finish_; 
- bool Predicate2Test::finished_; 
- int Predicate2Test::n1_; 
- int Predicate2Test::n2_; 
-   
- typedef Predicate2Test EXPECT_PRED_FORMAT2Test; 
- typedef Predicate2Test ASSERT_PRED_FORMAT2Test; 
- typedef Predicate2Test EXPECT_PRED2Test; 
- typedef Predicate2Test ASSERT_PRED2Test; 
-   
- // Tests a successful EXPECT_PRED2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED2Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED2(PredFunction2Int, 
-                ++n1_, 
-                ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED2Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED2(PredFunction2Bool, 
-                Bool(++n1_), 
-                Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED2Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED2(PredFunctor2(), 
-                ++n1_, 
-                ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED2Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED2(PredFunctor2(), 
-                Bool(++n1_), 
-                Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED2Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED2(PredFunction2Int, 
-                  n1_++, 
-                  n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED2Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED2(PredFunction2Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED2Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED2(PredFunctor2(), 
-                  n1_++, 
-                  n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED2Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED2(PredFunctor2(), 
-                  Bool(n1_++), 
-                  Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED2Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED2(PredFunction2Int, 
-                ++n1_, 
-                ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED2Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED2(PredFunction2Bool, 
-                Bool(++n1_), 
-                Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED2Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED2(PredFunctor2(), 
-                ++n1_, 
-                ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED2Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED2(PredFunctor2(), 
-                Bool(++n1_), 
-                Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED2Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED2(PredFunction2Int, 
-                  n1_++, 
-                  n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED2Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED2(PredFunction2Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED2Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED2(PredFunctor2(), 
-                  n1_++, 
-                  n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED2Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED2(PredFunctor2(), 
-                  Bool(n1_++), 
-                  Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT2(PredFormatFunction2, 
-                       ++n1_, 
-                       ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT2(PredFormatFunction2, 
-                       Bool(++n1_), 
-                       Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT2(PredFormatFunctor2(), 
-                       ++n1_, 
-                       ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT2(PredFormatFunctor2(), 
-                       Bool(++n1_), 
-                       Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT2(PredFormatFunction2, 
-                         n1_++, 
-                         n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT2(PredFormatFunction2, 
-                         Bool(n1_++), 
-                         Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT2(PredFormatFunctor2(), 
-                         n1_++, 
-                         n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT2Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT2(PredFormatFunctor2(), 
-                         Bool(n1_++), 
-                         Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT2(PredFormatFunction2, 
-                       ++n1_, 
-                       ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT2(PredFormatFunction2, 
-                       Bool(++n1_), 
-                       Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT2(PredFormatFunctor2(), 
-                       ++n1_, 
-                       ++n2_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT2(PredFormatFunctor2(), 
-                       Bool(++n1_), 
-                       Bool(++n2_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT2(PredFormatFunction2, 
-                         n1_++, 
-                         n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT2(PredFormatFunction2, 
-                         Bool(n1_++), 
-                         Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT2(PredFormatFunctor2(), 
-                         n1_++, 
-                         n2_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT2 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT2Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT2(PredFormatFunctor2(), 
-                         Bool(n1_++), 
-                         Bool(n2_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
- // Sample functions/functors for testing ternary predicate assertions. 
-   
- // A ternary predicate function. 
- template <typename T1, typename T2, typename T3> 
- bool PredFunction3(T1 v1, T2 v2, T3 v3) { 
-   return v1 + v2 + v3 > 0; 
- } 
-   
- // The following two functions are needed to circumvent a bug in 
- // gcc 2.95.3, which sometimes has problem with the above template 
- // function. 
- bool PredFunction3Int(int v1, int v2, int v3) { 
-   return v1 + v2 + v3 > 0; 
- } 
- bool PredFunction3Bool(Bool v1, Bool v2, Bool v3) { 
-   return v1 + v2 + v3 > 0; 
- } 
-   
- // A ternary predicate functor. 
- struct PredFunctor3 { 
-   template <typename T1, typename T2, typename T3> 
-   bool operator()(const T1& v1, 
-                   const T2& v2, 
-                   const T3& v3) { 
-     return v1 + v2 + v3 > 0; 
-   } 
- }; 
-   
- // A ternary predicate-formatter function. 
- template <typename T1, typename T2, typename T3> 
- testing::AssertionResult PredFormatFunction3(const char* e1, 
-                                              const char* e2, 
-                                              const char* e3, 
-                                              const T1& v1, 
-                                              const T2& v2, 
-                                              const T3& v3) { 
-   if (PredFunction3(v1, v2, v3)) 
-     return testing::AssertionSuccess(); 
-   
-   return testing::AssertionFailure() 
-       << e1 << " + " << e2 << " + " << e3 
-       << " is expected to be positive, but evaluates to " 
-       << v1 + v2 + v3 << "."; 
- } 
-   
- // A ternary predicate-formatter functor. 
- struct PredFormatFunctor3 { 
-   template <typename T1, typename T2, typename T3> 
-   testing::AssertionResult operator()(const char* e1, 
-                                       const char* e2, 
-                                       const char* e3, 
-                                       const T1& v1, 
-                                       const T2& v2, 
-                                       const T3& v3) const { 
-     return PredFormatFunction3(e1, e2, e3, v1, v2, v3); 
-   } 
- }; 
-   
- // Tests for {EXPECT|ASSERT}_PRED_FORMAT3. 
-   
- class Predicate3Test : public testing::Test { 
-  protected: 
-   virtual void SetUp() { 
-     expected_to_finish_ = true; 
-     finished_ = false; 
-     n1_ = n2_ = n3_ = 0; 
-   } 
-   
-   virtual void TearDown() { 
-     // Verifies that each of the predicate's arguments was evaluated 
-     // exactly once. 
-     EXPECT_EQ(1, n1_) << 
-         "The predicate assertion didn't evaluate argument 2 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n2_) << 
-         "The predicate assertion didn't evaluate argument 3 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n3_) << 
-         "The predicate assertion didn't evaluate argument 4 " 
-         "exactly once."; 
-   
-     // Verifies that the control flow in the test function is expected. 
-     if (expected_to_finish_ && !finished_) { 
-       FAIL() << "The predicate assertion unexpactedly aborted the test."; 
-     } else if (!expected_to_finish_ && finished_) { 
-       FAIL() << "The failed predicate assertion didn't abort the test " 
-                 "as expected."; 
-     } 
-   } 
-   
-   // true iff the test function is expected to run to finish. 
-   static bool expected_to_finish_; 
-   
-   // true iff the test function did run to finish. 
-   static bool finished_; 
-   
-   static int n1_; 
-   static int n2_; 
-   static int n3_; 
- }; 
-   
- bool Predicate3Test::expected_to_finish_; 
- bool Predicate3Test::finished_; 
- int Predicate3Test::n1_; 
- int Predicate3Test::n2_; 
- int Predicate3Test::n3_; 
-   
- typedef Predicate3Test EXPECT_PRED_FORMAT3Test; 
- typedef Predicate3Test ASSERT_PRED_FORMAT3Test; 
- typedef Predicate3Test EXPECT_PRED3Test; 
- typedef Predicate3Test ASSERT_PRED3Test; 
-   
- // Tests a successful EXPECT_PRED3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED3Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED3(PredFunction3Int, 
-                ++n1_, 
-                ++n2_, 
-                ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED3Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED3(PredFunction3Bool, 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED3Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED3(PredFunctor3(), 
-                ++n1_, 
-                ++n2_, 
-                ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED3Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED3(PredFunctor3(), 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED3Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED3(PredFunction3Int, 
-                  n1_++, 
-                  n2_++, 
-                  n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED3Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED3(PredFunction3Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED3Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED3(PredFunctor3(), 
-                  n1_++, 
-                  n2_++, 
-                  n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED3Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED3(PredFunctor3(), 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED3Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED3(PredFunction3Int, 
-                ++n1_, 
-                ++n2_, 
-                ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED3Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED3(PredFunction3Bool, 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED3Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED3(PredFunctor3(), 
-                ++n1_, 
-                ++n2_, 
-                ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED3Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED3(PredFunctor3(), 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED3Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED3(PredFunction3Int, 
-                  n1_++, 
-                  n2_++, 
-                  n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED3Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED3(PredFunction3Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED3Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED3(PredFunctor3(), 
-                  n1_++, 
-                  n2_++, 
-                  n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED3Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED3(PredFunctor3(), 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT3(PredFormatFunction3, 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT3(PredFormatFunction3, 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT3(PredFormatFunctor3(), 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT3(PredFormatFunctor3(), 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT3(PredFormatFunction3, 
-                         n1_++, 
-                         n2_++, 
-                         n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT3(PredFormatFunction3, 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT3(PredFormatFunctor3(), 
-                         n1_++, 
-                         n2_++, 
-                         n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT3Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT3(PredFormatFunctor3(), 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT3(PredFormatFunction3, 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT3(PredFormatFunction3, 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT3(PredFormatFunctor3(), 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT3(PredFormatFunctor3(), 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT3(PredFormatFunction3, 
-                         n1_++, 
-                         n2_++, 
-                         n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT3(PredFormatFunction3, 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT3(PredFormatFunctor3(), 
-                         n1_++, 
-                         n2_++, 
-                         n3_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT3 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT3Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT3(PredFormatFunctor3(), 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
- // Sample functions/functors for testing 4-ary predicate assertions. 
-   
- // A 4-ary predicate function. 
- template <typename T1, typename T2, typename T3, typename T4> 
- bool PredFunction4(T1 v1, T2 v2, T3 v3, T4 v4) { 
-   return v1 + v2 + v3 + v4 > 0; 
- } 
-   
- // The following two functions are needed to circumvent a bug in 
- // gcc 2.95.3, which sometimes has problem with the above template 
- // function. 
- bool PredFunction4Int(int v1, int v2, int v3, int v4) { 
-   return v1 + v2 + v3 + v4 > 0; 
- } 
- bool PredFunction4Bool(Bool v1, Bool v2, Bool v3, Bool v4) { 
-   return v1 + v2 + v3 + v4 > 0; 
- } 
-   
- // A 4-ary predicate functor. 
- struct PredFunctor4 { 
-   template <typename T1, typename T2, typename T3, typename T4> 
-   bool operator()(const T1& v1, 
-                   const T2& v2, 
-                   const T3& v3, 
-                   const T4& v4) { 
-     return v1 + v2 + v3 + v4 > 0; 
-   } 
- }; 
-   
- // A 4-ary predicate-formatter function. 
- template <typename T1, typename T2, typename T3, typename T4> 
- testing::AssertionResult PredFormatFunction4(const char* e1, 
-                                              const char* e2, 
-                                              const char* e3, 
-                                              const char* e4, 
-                                              const T1& v1, 
-                                              const T2& v2, 
-                                              const T3& v3, 
-                                              const T4& v4) { 
-   if (PredFunction4(v1, v2, v3, v4)) 
-     return testing::AssertionSuccess(); 
-   
-   return testing::AssertionFailure() 
-       << e1 << " + " << e2 << " + " << e3 << " + " << e4 
-       << " is expected to be positive, but evaluates to " 
-       << v1 + v2 + v3 + v4 << "."; 
- } 
-   
- // A 4-ary predicate-formatter functor. 
- struct PredFormatFunctor4 { 
-   template <typename T1, typename T2, typename T3, typename T4> 
-   testing::AssertionResult operator()(const char* e1, 
-                                       const char* e2, 
-                                       const char* e3, 
-                                       const char* e4, 
-                                       const T1& v1, 
-                                       const T2& v2, 
-                                       const T3& v3, 
-                                       const T4& v4) const { 
-     return PredFormatFunction4(e1, e2, e3, e4, v1, v2, v3, v4); 
-   } 
- }; 
-   
- // Tests for {EXPECT|ASSERT}_PRED_FORMAT4. 
-   
- class Predicate4Test : public testing::Test { 
-  protected: 
-   virtual void SetUp() { 
-     expected_to_finish_ = true; 
-     finished_ = false; 
-     n1_ = n2_ = n3_ = n4_ = 0; 
-   } 
-   
-   virtual void TearDown() { 
-     // Verifies that each of the predicate's arguments was evaluated 
-     // exactly once. 
-     EXPECT_EQ(1, n1_) << 
-         "The predicate assertion didn't evaluate argument 2 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n2_) << 
-         "The predicate assertion didn't evaluate argument 3 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n3_) << 
-         "The predicate assertion didn't evaluate argument 4 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n4_) << 
-         "The predicate assertion didn't evaluate argument 5 " 
-         "exactly once."; 
-   
-     // Verifies that the control flow in the test function is expected. 
-     if (expected_to_finish_ && !finished_) { 
-       FAIL() << "The predicate assertion unexpactedly aborted the test."; 
-     } else if (!expected_to_finish_ && finished_) { 
-       FAIL() << "The failed predicate assertion didn't abort the test " 
-                 "as expected."; 
-     } 
-   } 
-   
-   // true iff the test function is expected to run to finish. 
-   static bool expected_to_finish_; 
-   
-   // true iff the test function did run to finish. 
-   static bool finished_; 
-   
-   static int n1_; 
-   static int n2_; 
-   static int n3_; 
-   static int n4_; 
- }; 
-   
- bool Predicate4Test::expected_to_finish_; 
- bool Predicate4Test::finished_; 
- int Predicate4Test::n1_; 
- int Predicate4Test::n2_; 
- int Predicate4Test::n3_; 
- int Predicate4Test::n4_; 
-   
- typedef Predicate4Test EXPECT_PRED_FORMAT4Test; 
- typedef Predicate4Test ASSERT_PRED_FORMAT4Test; 
- typedef Predicate4Test EXPECT_PRED4Test; 
- typedef Predicate4Test ASSERT_PRED4Test; 
-   
- // Tests a successful EXPECT_PRED4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED4Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED4(PredFunction4Int, 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED4Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED4(PredFunction4Bool, 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED4Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED4(PredFunctor4(), 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED4Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED4(PredFunctor4(), 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED4Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED4(PredFunction4Int, 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED4Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED4(PredFunction4Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED4Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED4(PredFunctor4(), 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED4Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED4(PredFunctor4(), 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED4Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED4(PredFunction4Int, 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED4Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED4(PredFunction4Bool, 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED4Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED4(PredFunctor4(), 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED4Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED4(PredFunctor4(), 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED4Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED4(PredFunction4Int, 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED4Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED4(PredFunction4Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED4Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED4(PredFunctor4(), 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED4Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED4(PredFunctor4(), 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT4(PredFormatFunction4, 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT4(PredFormatFunction4, 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT4(PredFormatFunctor4(), 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT4(PredFormatFunctor4(), 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT4(PredFormatFunction4, 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT4(PredFormatFunction4, 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT4(PredFormatFunctor4(), 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT4Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT4(PredFormatFunctor4(), 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT4(PredFormatFunction4, 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT4(PredFormatFunction4, 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT4(PredFormatFunctor4(), 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT4(PredFormatFunctor4(), 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT4(PredFormatFunction4, 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT4(PredFormatFunction4, 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT4(PredFormatFunctor4(), 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT4 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT4Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT4(PredFormatFunctor4(), 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
- // Sample functions/functors for testing 5-ary predicate assertions. 
-   
- // A 5-ary predicate function. 
- template <typename T1, typename T2, typename T3, typename T4, typename T5> 
- bool PredFunction5(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) { 
-   return v1 + v2 + v3 + v4 + v5 > 0; 
- } 
-   
- // The following two functions are needed to circumvent a bug in 
- // gcc 2.95.3, which sometimes has problem with the above template 
- // function. 
- bool PredFunction5Int(int v1, int v2, int v3, int v4, int v5) { 
-   return v1 + v2 + v3 + v4 + v5 > 0; 
- } 
- bool PredFunction5Bool(Bool v1, Bool v2, Bool v3, Bool v4, Bool v5) { 
-   return v1 + v2 + v3 + v4 + v5 > 0; 
- } 
-   
- // A 5-ary predicate functor. 
- struct PredFunctor5 { 
-   template <typename T1, typename T2, typename T3, typename T4, typename T5> 
-   bool operator()(const T1& v1, 
-                   const T2& v2, 
-                   const T3& v3, 
-                   const T4& v4, 
-                   const T5& v5) { 
-     return v1 + v2 + v3 + v4 + v5 > 0; 
-   } 
- }; 
-   
- // A 5-ary predicate-formatter function. 
- template <typename T1, typename T2, typename T3, typename T4, typename T5> 
- testing::AssertionResult PredFormatFunction5(const char* e1, 
-                                              const char* e2, 
-                                              const char* e3, 
-                                              const char* e4, 
-                                              const char* e5, 
-                                              const T1& v1, 
-                                              const T2& v2, 
-                                              const T3& v3, 
-                                              const T4& v4, 
-                                              const T5& v5) { 
-   if (PredFunction5(v1, v2, v3, v4, v5)) 
-     return testing::AssertionSuccess(); 
-   
-   return testing::AssertionFailure() 
-       << e1 << " + " << e2 << " + " << e3 << " + " << e4 << " + " << e5 
-       << " is expected to be positive, but evaluates to " 
-       << v1 + v2 + v3 + v4 + v5 << "."; 
- } 
-   
- // A 5-ary predicate-formatter functor. 
- struct PredFormatFunctor5 { 
-   template <typename T1, typename T2, typename T3, typename T4, typename T5> 
-   testing::AssertionResult operator()(const char* e1, 
-                                       const char* e2, 
-                                       const char* e3, 
-                                       const char* e4, 
-                                       const char* e5, 
-                                       const T1& v1, 
-                                       const T2& v2, 
-                                       const T3& v3, 
-                                       const T4& v4, 
-                                       const T5& v5) const { 
-     return PredFormatFunction5(e1, e2, e3, e4, e5, v1, v2, v3, v4, v5); 
-   } 
- }; 
-   
- // Tests for {EXPECT|ASSERT}_PRED_FORMAT5. 
-   
- class Predicate5Test : public testing::Test { 
-  protected: 
-   virtual void SetUp() { 
-     expected_to_finish_ = true; 
-     finished_ = false; 
-     n1_ = n2_ = n3_ = n4_ = n5_ = 0; 
-   } 
-   
-   virtual void TearDown() { 
-     // Verifies that each of the predicate's arguments was evaluated 
-     // exactly once. 
-     EXPECT_EQ(1, n1_) << 
-         "The predicate assertion didn't evaluate argument 2 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n2_) << 
-         "The predicate assertion didn't evaluate argument 3 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n3_) << 
-         "The predicate assertion didn't evaluate argument 4 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n4_) << 
-         "The predicate assertion didn't evaluate argument 5 " 
-         "exactly once."; 
-     EXPECT_EQ(1, n5_) << 
-         "The predicate assertion didn't evaluate argument 6 " 
-         "exactly once."; 
-   
-     // Verifies that the control flow in the test function is expected. 
-     if (expected_to_finish_ && !finished_) { 
-       FAIL() << "The predicate assertion unexpactedly aborted the test."; 
-     } else if (!expected_to_finish_ && finished_) { 
-       FAIL() << "The failed predicate assertion didn't abort the test " 
-                 "as expected."; 
-     } 
-   } 
-   
-   // true iff the test function is expected to run to finish. 
-   static bool expected_to_finish_; 
-   
-   // true iff the test function did run to finish. 
-   static bool finished_; 
-   
-   static int n1_; 
-   static int n2_; 
-   static int n3_; 
-   static int n4_; 
-   static int n5_; 
- }; 
-   
- bool Predicate5Test::expected_to_finish_; 
- bool Predicate5Test::finished_; 
- int Predicate5Test::n1_; 
- int Predicate5Test::n2_; 
- int Predicate5Test::n3_; 
- int Predicate5Test::n4_; 
- int Predicate5Test::n5_; 
-   
- typedef Predicate5Test EXPECT_PRED_FORMAT5Test; 
- typedef Predicate5Test ASSERT_PRED_FORMAT5Test; 
- typedef Predicate5Test EXPECT_PRED5Test; 
- typedef Predicate5Test ASSERT_PRED5Test; 
-   
- // Tests a successful EXPECT_PRED5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED5Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED5(PredFunction5Int, 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_, 
-                ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED5Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED5(PredFunction5Bool, 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_), 
-                Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED5Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED5(PredFunctor5(), 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_, 
-                ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED5Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED5(PredFunctor5(), 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_), 
-                Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED5Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED5(PredFunction5Int, 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++, 
-                  n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED5Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED5(PredFunction5Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++), 
-                  Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED5Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED5(PredFunctor5(), 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++, 
-                  n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED5Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED5(PredFunctor5(), 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++), 
-                  Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED5Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED5(PredFunction5Int, 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_, 
-                ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED5Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED5(PredFunction5Bool, 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_), 
-                Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED5Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED5(PredFunctor5(), 
-                ++n1_, 
-                ++n2_, 
-                ++n3_, 
-                ++n4_, 
-                ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED5Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED5(PredFunctor5(), 
-                Bool(++n1_), 
-                Bool(++n2_), 
-                Bool(++n3_), 
-                Bool(++n4_), 
-                Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED5Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED5(PredFunction5Int, 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++, 
-                  n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED5Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED5(PredFunction5Bool, 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++), 
-                  Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED5Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED5(PredFunctor5(), 
-                  n1_++, 
-                  n2_++, 
-                  n3_++, 
-                  n4_++, 
-                  n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED5Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED5(PredFunctor5(), 
-                  Bool(n1_++), 
-                  Bool(n2_++), 
-                  Bool(n3_++), 
-                  Bool(n4_++), 
-                  Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctionOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT5(PredFormatFunction5, 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_, 
-                       ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctionOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT5(PredFormatFunction5, 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_), 
-                       Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctorOnBuiltInTypeSuccess) { 
-   EXPECT_PRED_FORMAT5(PredFormatFunctor5(), 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_, 
-                       ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctorOnUserTypeSuccess) { 
-   EXPECT_PRED_FORMAT5(PredFormatFunctor5(), 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_), 
-                       Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctionOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT5(PredFormatFunction5, 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++, 
-                         n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctionOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT5(PredFormatFunction5, 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++), 
-                         Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctorOnBuiltInTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT5(PredFormatFunctor5(), 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++, 
-                         n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed EXPECT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(EXPECT_PRED_FORMAT5Test, FunctorOnUserTypeFailure) { 
-   EXPECT_NONFATAL_FAILURE({  // NOLINT 
-     EXPECT_PRED_FORMAT5(PredFormatFunctor5(), 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++), 
-                         Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctionOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT5(PredFormatFunction5, 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_, 
-                       ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctionOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT5(PredFormatFunction5, 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_), 
-                       Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctorOnBuiltInTypeSuccess) { 
-   ASSERT_PRED_FORMAT5(PredFormatFunctor5(), 
-                       ++n1_, 
-                       ++n2_, 
-                       ++n3_, 
-                       ++n4_, 
-                       ++n5_); 
-   finished_ = true; 
- } 
-   
- // Tests a successful ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctorOnUserTypeSuccess) { 
-   ASSERT_PRED_FORMAT5(PredFormatFunctor5(), 
-                       Bool(++n1_), 
-                       Bool(++n2_), 
-                       Bool(++n3_), 
-                       Bool(++n4_), 
-                       Bool(++n5_)); 
-   finished_ = true; 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctionOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT5(PredFormatFunction5, 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++, 
-                         n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a function on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctionOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT5(PredFormatFunction5, 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++), 
-                         Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a built-in type (int). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctorOnBuiltInTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT5(PredFormatFunctor5(), 
-                         n1_++, 
-                         n2_++, 
-                         n3_++, 
-                         n4_++, 
-                         n5_++); 
-     finished_ = true; 
-   }, ""); 
- } 
-   
- // Tests a failed ASSERT_PRED_FORMAT5 where the 
- // predicate-formatter is a functor on a user-defined type (Bool). 
- TEST_F(ASSERT_PRED_FORMAT5Test, FunctorOnUserTypeFailure) { 
-   expected_to_finish_ = false; 
-   EXPECT_FATAL_FAILURE({  // NOLINT 
-     ASSERT_PRED_FORMAT5(PredFormatFunctor5(), 
-                         Bool(n1_++), 
-                         Bool(n2_++), 
-                         Bool(n3_++), 
-                         Bool(n4_++), 
-                         Bool(n5_++)); 
-     finished_ = true; 
-   }, ""); 
- } 
-