Index: source/libvpx/third_party/googletest/src/test/gtest_pred_impl_unittest.cc |
=================================================================== |
--- source/libvpx/third_party/googletest/src/test/gtest_pred_impl_unittest.cc (revision 232233) |
+++ source/libvpx/third_party/googletest/src/test/gtest_pred_impl_unittest.cc (working copy) |
@@ -1,2427 +0,0 @@ |
-// 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 09/24/2010 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; |
- }, ""); |
-} |