@@ -1952,7 +1952,8 @@ public func checkEquatable<Instances : Collection>(
1952
1952
_checkEquatableImpl (
1953
1953
Array ( instances) ,
1954
1954
oracle: { oracle ( indices [ $0] , indices [ $1] ) } ,
1955
- allowBrokenTransitivity: allowBrokenTransitivity)
1955
+ allowBrokenTransitivity: allowBrokenTransitivity,
1956
+ ${ trace} )
1956
1957
}
1957
1958
1958
1959
internal func _checkEquatableImpl< Instance : Equatable > (
@@ -1977,18 +1978,23 @@ internal func _checkEquatableImpl<Instance : Equatable>(
1977
1978
let predictedXY = oracle ( i, j)
1978
1979
expectEqual (
1979
1980
predictedXY, oracle ( j, i) ,
1980
- " bad oracle: broken symmetry between indices \( i) , \( j) " )
1981
+ " bad oracle: broken symmetry between indices \( i) , \( j) " ,
1982
+ stackTrace: ${ stackTrace} )
1981
1983
1982
1984
let isEqualXY = x == y
1983
1985
expectEqual (
1984
1986
predictedXY, isEqualXY,
1985
- " lhs (at index \( i) ): \( x) \n rhs (at index \( j) ): \( y) " ,
1987
+ ( predictedXY
1988
+ ? " expected equal, found not equal \n "
1989
+ : " expected not equal, found equal \n " ) +
1990
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
1991
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
1986
1992
stackTrace: ${ stackTrace} )
1987
1993
1988
1994
// Not-equal is an inverse of equal.
1989
1995
expectNotEqual (
1990
1996
isEqualXY, x != y,
1991
- " lhs (at index \( i) ): \( x ) \n rhs (at index \( j) ): \( y ) " ,
1997
+ " lhs (at index \( i) ): \( String ( reflecting : x ) ) \n rhs (at index \( j) ): \( String ( reflecting : y ) ) " ,
1992
1998
stackTrace: ${ stackTrace} )
1993
1999
1994
2000
if !allowBrokenTransitivity {
@@ -2002,7 +2008,8 @@ internal func _checkEquatableImpl<Instance : Equatable>(
2002
2008
for k in transitivityScoreboard [ i] . value {
2003
2009
expectTrue (
2004
2010
oracle ( j, k) ,
2005
- " bad oracle: broken transitivity at indices \( i) , \( j) , \( k) " )
2011
+ " bad oracle: broken transitivity at indices \( i) , \( j) , \( k) " ,
2012
+ stackTrace: ${ stackTrace} )
2006
2013
// No need to check equality between actual values, we will check
2007
2014
// them with the checks above.
2008
2015
}
@@ -2139,11 +2146,28 @@ public func checkComparable<Instances : Collection>(
2139
2146
for i in instances. indices {
2140
2147
let x = instances [ i]
2141
2148
2142
- expectFalse ( x < x , ${ trace} )
2143
- expectFalse ( x > x, ${ trace} )
2144
- expectTrue ( x <= x, ${ trace} )
2145
- expectTrue ( x >= x, ${ trace} )
2146
-
2149
+ expectFalse (
2150
+ x < x,
2151
+ " found 'x < x' \n " +
2152
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2153
+ stackTrace: ${ stackTrace} )
2154
+
2155
+ expectFalse (
2156
+ x > x,
2157
+ " found 'x > x' \n " +
2158
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2159
+ stackTrace: ${ stackTrace} )
2160
+
2161
+ expectTrue ( x <= x,
2162
+ " found 'x <= x' to be false \n " +
2163
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2164
+ stackTrace: ${ stackTrace} )
2165
+
2166
+ expectTrue ( x >= x,
2167
+ " found 'x >= x' to be false \n " +
2168
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2169
+ stackTrace: ${ stackTrace} )
2170
+
2147
2171
for j in instances. indices where i != j {
2148
2172
let y = instances [ j]
2149
2173
@@ -2155,11 +2179,30 @@ public func checkComparable<Instances : Collection>(
2155
2179
+ " ( \( String ( reflecting: i) ) , \( String ( reflecting: j) ) ) " ,
2156
2180
stackTrace: ${ stackTrace} )
2157
2181
2158
- expectEqual ( expected. isLT ( ) , x < y , ${ trace} )
2159
- expectEqual ( expected. isLE ( ) , x <= y, ${ trace} )
2160
- expectEqual ( expected. isGE ( ) , x >= y, ${ trace} )
2161
- expectEqual ( expected. isGT ( ) , x > y, ${ trace} )
2162
-
2182
+ expectEqual ( expected. isLT ( ) , x < y,
2183
+ " x < y \n " +
2184
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2185
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2186
+ stackTrace: ${ stackTrace} )
2187
+
2188
+ expectEqual ( expected. isLE ( ) , x <= y,
2189
+ " x <= y \n " +
2190
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2191
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2192
+ stackTrace: ${ stackTrace} )
2193
+
2194
+ expectEqual ( expected. isGE ( ) , x >= y,
2195
+ " x >= y \n " +
2196
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2197
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2198
+ stackTrace: ${ stackTrace} )
2199
+
2200
+ expectEqual ( expected. isGT ( ) , x > y,
2201
+ " x > y \n " +
2202
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2203
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2204
+ stackTrace: ${ stackTrace} )
2205
+
2163
2206
for k in instances. indices {
2164
2207
let expected2 = oracle ( j, k)
2165
2208
if expected == expected2 {
0 commit comments