This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// like XCTAssertEqual, but handles optional unwrapping | |
public func XCTAssertEqualOptional<T: Any where T: Equatable>(expression1: @autoclosure () -> T?, expression2: @autoclosure () -> T?, _ message: String? = nil, file: String = __FILE__, line: UInt = __LINE__) { | |
if let exp1 = expression1() { | |
if let exp2 = expression2() { | |
XCTAssertEqual(exp1, exp2, message ?? "", file: file, line: line) | |
} else { | |
XCTFail(message ?? "exp1 != nil, exp2 == nil", file: file, line: line) | |
} | |
} else if let exp2 = expression2() { | |
XCTFail(message ?? "exp1 == nil, exp2 != nil", file: file, line: line) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# RESULTS, feel free to repro yourself | |
# | |
# noLock FAIL | |
# accessShare FAIL | |
# rowShare FAIL | |
# rowExclusive FAIL | |
# shareUpdateExclusive SUCCESS | |
# share FAIL+DEADLOCKS | |
# shareRowExclusive SUCCESS |