@@ -1960,7 +1960,8 @@ public func checkEquatable<Instances : Collection>(
1960
1960
_checkEquatableImpl (
1961
1961
Array ( instances) ,
1962
1962
oracle: { oracle ( indices [ $0] , indices [ $1] ) } ,
1963
- allowBrokenTransitivity: allowBrokenTransitivity)
1963
+ allowBrokenTransitivity: allowBrokenTransitivity,
1964
+ ${ trace} )
1964
1965
}
1965
1966
1966
1967
internal func _checkEquatableImpl< Instance : Equatable > (
@@ -1985,18 +1986,23 @@ internal func _checkEquatableImpl<Instance : Equatable>(
1985
1986
let predictedXY = oracle ( i, j)
1986
1987
expectEqual (
1987
1988
predictedXY, oracle ( j, i) ,
1988
- " bad oracle: broken symmetry between indices \( i) , \( j) " )
1989
+ " bad oracle: broken symmetry between indices \( i) , \( j) " ,
1990
+ stackTrace: ${ stackTrace} )
1989
1991
1990
1992
let isEqualXY = x == y
1991
1993
expectEqual (
1992
1994
predictedXY, isEqualXY,
1993
- " lhs (at index \( i) ): \( x) \n rhs (at index \( j) ): \( y) " ,
1995
+ ( predictedXY
1996
+ ? " expected equal, found not equal \n "
1997
+ : " expected not equal, found equal \n " ) +
1998
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
1999
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
1994
2000
stackTrace: ${ stackTrace} )
1995
2001
1996
2002
// Not-equal is an inverse of equal.
1997
2003
expectNotEqual (
1998
2004
isEqualXY, x != y,
1999
- " lhs (at index \( i) ): \( x ) \n rhs (at index \( j) ): \( y ) " ,
2005
+ " lhs (at index \( i) ): \( String ( reflecting : x ) ) \n rhs (at index \( j) ): \( String ( reflecting : y ) ) " ,
2000
2006
stackTrace: ${ stackTrace} )
2001
2007
2002
2008
if !allowBrokenTransitivity {
@@ -2010,7 +2016,8 @@ internal func _checkEquatableImpl<Instance : Equatable>(
2010
2016
for k in transitivityScoreboard [ i] . value {
2011
2017
expectTrue (
2012
2018
oracle ( j, k) ,
2013
- " bad oracle: broken transitivity at indices \( i) , \( j) , \( k) " )
2019
+ " bad oracle: broken transitivity at indices \( i) , \( j) , \( k) " ,
2020
+ stackTrace: ${ stackTrace} )
2014
2021
// No need to check equality between actual values, we will check
2015
2022
// them with the checks above.
2016
2023
}
@@ -2147,11 +2154,28 @@ public func checkComparable<Instances : Collection>(
2147
2154
for i in instances. indices {
2148
2155
let x = instances [ i]
2149
2156
2150
- expectFalse ( x < x , ${ trace} )
2151
- expectFalse ( x > x, ${ trace} )
2152
- expectTrue ( x <= x, ${ trace} )
2153
- expectTrue ( x >= x, ${ trace} )
2154
-
2157
+ expectFalse (
2158
+ x < x,
2159
+ " found 'x < x' \n " +
2160
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2161
+ stackTrace: ${ stackTrace} )
2162
+
2163
+ expectFalse (
2164
+ x > x,
2165
+ " found 'x > x' \n " +
2166
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2167
+ stackTrace: ${ stackTrace} )
2168
+
2169
+ expectTrue ( x <= x,
2170
+ " found 'x <= x' to be false \n " +
2171
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2172
+ stackTrace: ${ stackTrace} )
2173
+
2174
+ expectTrue ( x >= x,
2175
+ " found 'x >= x' to be false \n " +
2176
+ " at index \( i) : \( String ( reflecting: x) ) " ,
2177
+ stackTrace: ${ stackTrace} )
2178
+
2155
2179
for j in instances. indices where i != j {
2156
2180
let y = instances [ j]
2157
2181
@@ -2163,11 +2187,30 @@ public func checkComparable<Instances : Collection>(
2163
2187
+ " ( \( String ( reflecting: i) ) , \( String ( reflecting: j) ) ) " ,
2164
2188
stackTrace: ${ stackTrace} )
2165
2189
2166
- expectEqual ( expected. isLT ( ) , x < y , ${ trace} )
2167
- expectEqual ( expected. isLE ( ) , x <= y, ${ trace} )
2168
- expectEqual ( expected. isGE ( ) , x >= y, ${ trace} )
2169
- expectEqual ( expected. isGT ( ) , x > y, ${ trace} )
2170
-
2190
+ expectEqual ( expected. isLT ( ) , x < y,
2191
+ " x < y \n " +
2192
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2193
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2194
+ stackTrace: ${ stackTrace} )
2195
+
2196
+ expectEqual ( expected. isLE ( ) , x <= y,
2197
+ " x <= y \n " +
2198
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2199
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2200
+ stackTrace: ${ stackTrace} )
2201
+
2202
+ expectEqual ( expected. isGE ( ) , x >= y,
2203
+ " x >= y \n " +
2204
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2205
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2206
+ stackTrace: ${ stackTrace} )
2207
+
2208
+ expectEqual ( expected. isGT ( ) , x > y,
2209
+ " x > y \n " +
2210
+ " lhs (at index \( i) ): \( String ( reflecting: x) ) \n " +
2211
+ " rhs (at index \( j) ): \( String ( reflecting: y) ) " ,
2212
+ stackTrace: ${ stackTrace} )
2213
+
2171
2214
for k in instances. indices {
2172
2215
let expected2 = oracle ( j, k)
2173
2216
if expected == expected2 {
0 commit comments