 			theException: res.theException,
 			labels: res.labels,
 			stamp: res.stamp,
-			callbacks: [cb] + res.callbacks)
+			callbacks: [cb] + res.callbacks,
+			abort: false)
 	})(p: p)
 }
 

	let stamp			: Set<String>
	/// Callbacks attached to the test case.
	let callbacks		: [Callback]

	/// Destructures a test case into a matcher that can be used in switch statement.
	public func match() -> TestResultMatcher {
		return .MatchResult(ok: ok, expect: expect, reason: reason, theException: theException, labels: labels, stamp: stamp, callbacks: callbacks)
	}

	public init(ok : Optional<Bool>, expect : Bool, reason : String, theException : Optional<String>, labels : Dictionary<String, Int>, stamp : Set<String>, callbacks : [Callback]) {
		self.ok = ok
		self.expect = expect
		self.reason = reason

			theException: res.theException,
			labels: unionWith(max, res.labels, result.labels),
			stamp: res.stamp.union(result.stamp),
			callbacks: res.callbacks,
			abort: false)
	}
}

