15891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// Copyright (c) 2010 The Chromium Authors. All rights reserved.
25891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// Use of this source code is governed by a BSD-style license that can be
35891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// found in the LICENSE file.
45891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
55891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#ifndef TESTING_GTEST_MAC_H_
65891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#define TESTING_GTEST_MAC_H_
75891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
85891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#include <gtest/internal/gtest-port.h>
95891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#include <gtest/gtest.h>
105891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
115891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#ifdef GTEST_OS_MAC
125891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
135891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#import <Foundation/Foundation.h>
145891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
155891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsennamespace testing {
165891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsennamespace internal {
175891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
185891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// This overloaded version allows comparison between ObjC objects that conform
195891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// to the NSObject protocol. Used to implement {ASSERT|EXPECT}_EQ().
205891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian MonsenGTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression,
215891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen                                         const char* actual_expression,
225891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen                                         id<NSObject> expected,
235891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen                                         id<NSObject> actual);
245891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
255891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// This overloaded version allows comparison between ObjC objects that conform
265891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// to the NSObject protocol. Used to implement {ASSERT|EXPECT}_NE().
275891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian MonsenGTEST_API_ AssertionResult CmpHelperNSNE(const char* expected_expression,
285891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen                                         const char* actual_expression,
295891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen                                         id<NSObject> expected,
305891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen                                         id<NSObject> actual);
315891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
325891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen}  // namespace internal
335891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen}  // namespace testing
345891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
355891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen// Tests that [expected isEqual:actual].
365891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#define EXPECT_NSEQ(expected, actual) \
375891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen  EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual)
385891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#define EXPECT_NSNE(val1, val2) \
395891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen  EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2)
405891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
415891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#define ASSERT_NSEQ(expected, actual) \
425891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen  ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual)
435891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#define ASSERT_NSNE(val1, val2) \
445891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen  ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2)
455891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
465891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#endif  // GTEST_OS_MAC
475891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen
485891636149dae2ecc0fadb3aec0cbc8ca0fa045dKristian Monsen#endif  // TESTING_GTEST_MAC_H_
49