Slide 31
Slide 31 text
Mixed Testing
func testEquality() {
let oneOverTwo = Rational(1, 2)!
let twoOverFour = Rational(2, 4)!
let ichiUeNi = Rational(1, 2)!
XCTAssertEqual(oneOverTwo == twoOverFour, true)
XCTAssertEqual(twoOverFour == ichiUeNi, true)
XCTAssertEqual(ichiUeNi == oneOverTwo, true)
XCTAssertEqual(oneOverTwo ≡ twoOverFour, false)
XCTAssertEqual(twoOverFour ≡ ichiUeNi, false)
XCTAssertEqual(ichiUeNi ≡ oneOverTwo, true)
let halfIntMax = (Int.max / 2) - 1
property("value holds") <- forAll { (value: Rational) in
return ((value.numerator < halfIntMax) && (value.denominator < halfIntMax)) ==> {
let doubledSame = Rational(value.numerator * 2, value.denominator * 2)!
return (value == doubledSame) && ((value ≡ doubledSame) == false)
}
}
}
25