michael@0: // Copyright (c) 2010 The Chromium Authors. All rights reserved. michael@0: // Use of this source code is governed by a BSD-style license that can be michael@0: // found in the LICENSE file. michael@0: michael@0: #ifndef TESTING_GTEST_MAC_H_ michael@0: #define TESTING_GTEST_MAC_H_ michael@0: michael@0: #include michael@0: #include michael@0: michael@0: #ifdef GTEST_OS_MAC michael@0: michael@0: #import michael@0: michael@0: namespace testing { michael@0: namespace internal { michael@0: michael@0: // This overloaded version allows comparison between ObjC objects that conform michael@0: // to the NSObject protocol. Used to implement {ASSERT|EXPECT}_EQ(). michael@0: GTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression, michael@0: const char* actual_expression, michael@0: id expected, michael@0: id actual); michael@0: michael@0: // This overloaded version allows comparison between ObjC objects that conform michael@0: // to the NSObject protocol. Used to implement {ASSERT|EXPECT}_NE(). michael@0: GTEST_API_ AssertionResult CmpHelperNSNE(const char* expected_expression, michael@0: const char* actual_expression, michael@0: id expected, michael@0: id actual); michael@0: michael@0: } // namespace internal michael@0: } // namespace testing michael@0: michael@0: // Tests that [expected isEqual:actual]. michael@0: #define EXPECT_NSEQ(expected, actual) \ michael@0: EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual) michael@0: #define EXPECT_NSNE(val1, val2) \ michael@0: EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2) michael@0: michael@0: #define ASSERT_NSEQ(expected, actual) \ michael@0: ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual) michael@0: #define ASSERT_NSNE(val1, val2) \ michael@0: ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2) michael@0: michael@0: #endif // GTEST_OS_MAC michael@0: michael@0: #endif // TESTING_GTEST_MAC_H_