31 lines · c
1#ifndef THIRD_PARTY_LLVM_LLVM_PROJECT_CLANG_TOOLS_EXTRA_TEST_CLANG_TIDY_CHECKERS_INPUTS_OBJC_ASSERT_XCTESTASSERTIONS_H_2#define THIRD_PARTY_LLVM_LLVM_PROJECT_CLANG_TOOLS_EXTRA_TEST_CLANG_TIDY_CHECKERS_INPUTS_OBJC_ASSERT_XCTESTASSERTIONS_H_3 4#define _XCTPrimitiveAssertEqual(test, expression1, expressionStr1, \5 expression2, expressionStr2, ...) \6 ({ \7 __typeof__(expression1) expressionValue1 = (expression1); \8 __typeof__(expression2) expressionValue2 = (expression2); \9 if (expressionValue1 != expressionValue2) { \10 } \11 })12 13#define _XCTPrimitiveAssertEqualObjects(test, expression1, expressionStr1, \14 expression2, expressionStr2, ...) \15 ({ \16 __typeof__(expression1) expressionValue1 = (expression1); \17 __typeof__(expression2) expressionValue2 = (expression2); \18 if (expressionValue1 != expressionValue2) { \19 } \20 })21 22#define XCTAssertEqual(expression1, expression2, ...) \23 _XCTPrimitiveAssertEqual(nil, expression1, @ #expression1, expression2, \24 @ #expression2, __VA_ARGS__)25 26#define XCTAssertEqualObjects(expression1, expression2, ...) \27 _XCTPrimitiveAssertEqualObjects(nil, expression1, @ #expression1, \28 expression2, @ #expression2, __VA_ARGS__)29 30#endif // THIRD_PARTY_LLVM_LLVM_PROJECT_CLANG_TOOLS_EXTRA_TEST_CLANG_TIDY_CHECKERS_INPUTS_OBJC_ASSERT_XCTESTASSERTIONS_H_31