A basic test compares an actual value with an expected value.

Compare actual and expected

expected
equality_assertion.swift
Replay: real traced execution (multi-file project)
func add(_ left: Int, _ right: Int) -> Int {
    return left + right
}

let expected = 7
let actual = add(3, 4)
let passed = actual == expected
let message = passed ? "pass" : "fail expected \(expected) got \(actual)"

print(message)
func add(_ left: Int, _ right: Int) -> Int {
    return left + right
}

let expected = 8
let actual = add(3, 4)
let passed = actual == expected
let message = passed ? "pass" : "fail expected \(expected) got \(actual)"

print(message)
func add(_ left: Int, _ right: Int) -> Int {
    return left + right
}

let expected = 10
let actual = add(3, 4)
let passed = actual == expected
let message = passed ? "pass" : "fail expected \(expected) got \(actual)"

print(message)
  1. expected ← 7

    5let expected→ 7 = 7  //@expected=8, 106let actual = add(3, 4)7let passed = actual == expected
  2. func add(_ left: Int, _ right: Int) -> Int

    1func add(_ left3: Int, _ right4: Int) -> Int {2    return left3 + right43}
  3. actual ← 7, passed ← true, message ← pass

    5let expected = 7  //@expected=8, 106let actual→ 7 = add(3, 4)7let passed→ true = actual7 == expected78let message→ pass = passedtrue ? "pass" : "fail expected \(expected7) got \(actual7)"910print(messagepass)
    outputpass
  1. expected ← 8

    5let expected→ 8 = 86let actual = add(3, 4)7let passed = actual == expected
  2. func add(_ left: Int, _ right: Int) -> Int

    1func add(_ left3: Int, _ right4: Int) -> Int {2    return left3 + right43}
  3. actual ← 7, passed ← false, message ← fail expected 8 got 7

    5let expected = 86let actual→ 7 = add(3, 4)7let passed→ false = actual7 == expected88let message→ fail expected 8 got 7 = passedfalse ? "pass" : "fail expected \(expected8) got \(actual7)"910print(messagefail expected 8 got 7)
    outputfail expected 8 got 7
  1. expected ← 10

    5let expected→ 10 = 106let actual = add(3, 4)7let passed = actual == expected
  2. func add(_ left: Int, _ right: Int) -> Int

    1func add(_ left3: Int, _ right4: Int) -> Int {2    return left3 + right43}
  3. actual ← 7, passed ← false, message ← fail expected 10 got 7

    5let expected = 106let actual→ 7 = add(3, 4)7let passed→ false = actual7 == expected108let message→ fail expected 10 got 7 = passedfalse ? "pass" : "fail expected \(expected10) got \(actual7)"910print(messagefail expected 10 got 7)
    outputfail expected 10 got 7
equality assertion An equality assertion is just a comparison that reports whether the observed value matches the expected value.