Swift Power Assert

Power Assert in Swift. Provides descriptive assertion messages through standard assert interface.

Power assertions (a.k.a. diagrammed assertions) augment your assertion failures with information about values produced during the evaluation of a condition, and presents them in an easily digestible form. github.com/kishikawakatsumi/SwiftPowerAssert

import Foundation
import XCTest

let a = 4
let b = 7
let c = 12

XCTAssert(max(a, b) == c)
XCTAssert(a + b > c)


struct Person {
  let name: String
  let age: Int

  var isTeenager: Bool {
    return age <= 12 && age >= 20
  }
}

let john = Person(name: "John", age: 42)
let mike = Person(name: "Mike", age: 13)

XCTAssert(john.isTeenager)
XCTAssert(mike.isTeenager && john.age < mike.age)
XCTAssert(max(a, b) == c)
          |   |  |  |  |
          7   4  7  |  12
                    false
XCTAssert(a + b > c)
          | | | | |
          4 | 7 | 12
            11  false
XCTAssert(john.isTeenager)
          |    |
          |    false
          Person(name: "John", age: 42)
XCTAssert(mike.isTeenager && john.age < mike.age)
          |    |          |  |    |   | |    |
          |    false      |  |    42  | |    13
          |               |  |        | Person(name: "Mike", age: 13)
          |               |  |        false
          |               |  Person(name: "John", age: 42)
          |               false
          Person(name: "Mike", age: 13)