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