@@ -148,7 +148,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
148148 withLifetimeTracking { tracker in
149149 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< count)
150150 reference. swapAt ( i, j)
151- withHiddenCopies ( if: isShared, of: & d) { d in
151+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
152152 d. elements. swapAt ( i, j)
153153 expectEquivalentElements (
154154 d, reference,
@@ -172,7 +172,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
172172 var ( d, reference) = tracker. orderedDictionary (
173173 keys: ( 0 ..< count) . shuffled ( using: & rng) )
174174 let expectedPivot = reference. partition { $0. key. payload < count / 2 }
175- withHiddenCopies ( if: isShared, of: & d) { d in
175+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
176176 let actualPivot = d. elements. partition { $0. key. payload < count / 2 }
177177 expectEqual ( actualPivot, expectedPivot)
178178 expectEqualElements ( d, reference)
@@ -192,7 +192,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
192192 var ( d, reference) = tracker. orderedDictionary (
193193 keys: ( 0 ..< count) . shuffled ( using: & rng) )
194194 reference. sort ( by: { $0. key < $1. key } )
195- withHiddenCopies ( if: isShared, of: & d) { d in
195+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
196196 d. elements. sort ( )
197197 expectEqualElements ( d, reference)
198198 }
@@ -211,7 +211,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
211211 var ( d, reference) = tracker. orderedDictionary (
212212 keys: ( 0 ..< count) . shuffled ( using: & rng) )
213213 reference. sort ( by: { $0. key > $1. key } )
214- withHiddenCopies ( if: isShared, of: & d) { d in
214+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
215215 d. elements. sort ( by: { $0. key > $1. key } )
216216 expectEqualElements ( d, reference)
217217 }
@@ -229,7 +229,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
229229 uniqueKeys: 0 ..< count,
230230 values: 100 ..< 100 + count)
231231 var items = ( 0 ..< count) . map { ( key: $0, value: 100 + $0) }
232- withHiddenCopies ( if: isShared, of: & d) { d in
232+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
233233 expectEqualElements ( d. elements, items)
234234
235235 var rng1 = RepeatableRandomNumberGenerator ( seed: seed)
@@ -271,7 +271,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
271271 withEvery ( " isShared " , in: [ false , true ] ) { isShared in
272272 withLifetimeTracking { tracker in
273273 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< count)
274- withHiddenCopies ( if: isShared, of: & d) { d in
274+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
275275 reference. reverse ( )
276276 d. elements. reverse ( )
277277 expectEqualElements ( d, reference)
@@ -286,7 +286,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
286286 withEvery ( " isShared " , in: [ false , true ] ) { isShared in
287287 withLifetimeTracking { tracker in
288288 var ( d, _) = tracker. orderedDictionary ( keys: 0 ..< count)
289- withHiddenCopies ( if: isShared, of: & d) { d in
289+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
290290 d. elements. removeAll ( )
291291 expectEqual ( d. keys. __unstable. scale, 0 )
292292 expectEqualElements ( d, [ ] )
@@ -302,7 +302,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
302302 withLifetimeTracking { tracker in
303303 var ( d, _) = tracker. orderedDictionary ( keys: 0 ..< count)
304304 let origScale = d. keys. __unstable. scale
305- withHiddenCopies ( if: isShared, of: & d) { d in
305+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
306306 d. elements. removeAll ( keepingCapacity: true )
307307 expectEqual ( d. keys. __unstable. scale, origScale)
308308 expectEqualElements ( d, [ ] )
@@ -318,7 +318,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
318318 withEvery ( " isShared " , in: [ false , true ] ) { isShared in
319319 withLifetimeTracking { tracker in
320320 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< count)
321- withHiddenCopies ( if: isShared, of: & d) { d in
321+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
322322 let actual = d. elements. remove ( at: offset)
323323 let expected = reference. remove ( at: offset)
324324 expectEqual ( actual. key, expected. key)
@@ -337,7 +337,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
337337 withEvery ( " isShared " , in: [ false , true ] ) { isShared in
338338 withLifetimeTracking { tracker in
339339 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< count)
340- withHiddenCopies ( if: isShared, of: & d) { d in
340+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
341341 d. elements. removeSubrange ( range)
342342 reference. removeSubrange ( range)
343343 expectEqualElements ( d, reference)
@@ -370,7 +370,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
370370 withLifetimeTracking { tracker in
371371 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< 30 )
372372 withEvery ( " i " , in: 0 ..< d. count) { i in
373- withHiddenCopies ( if: isShared, of: & d) { d in
373+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
374374 let actual = d. elements. removeLast ( )
375375 let expected = reference. removeLast ( )
376376 expectEqual ( actual. key, expected. key)
@@ -387,7 +387,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
387387 withLifetimeTracking { tracker in
388388 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< 30 )
389389 withEvery ( " i " , in: 0 ..< d. count) { i in
390- withHiddenCopies ( if: isShared, of: & d) { d in
390+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
391391 let actual = d. elements. removeFirst ( )
392392 let expected = reference. removeFirst ( )
393393 expectEqual ( actual. key, expected. key)
@@ -405,7 +405,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
405405 withEvery ( " isShared " , in: [ false , true ] ) { isShared in
406406 withLifetimeTracking { tracker in
407407 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< count)
408- withHiddenCopies ( if: isShared, of: & d) { d in
408+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
409409 d. elements. removeLast ( suffix)
410410 reference. removeLast ( suffix)
411411 expectEqualElements ( d, reference)
@@ -422,7 +422,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
422422 withEvery ( " isShared " , in: [ false , true ] ) { isShared in
423423 withLifetimeTracking { tracker in
424424 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< count)
425- withHiddenCopies ( if: isShared, of: & d) { d in
425+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
426426 d. elements. removeFirst ( prefix)
427427 reference. removeFirst ( prefix)
428428 expectEqualElements ( d, reference)
@@ -439,7 +439,7 @@ class OrderedDictionaryElementsTests: CollectionTestCase {
439439 withEvery ( " isShared " , in: [ false , true ] ) { isShared in
440440 withLifetimeTracking { tracker in
441441 var ( d, reference) = tracker. orderedDictionary ( keys: 0 ..< count)
442- withHiddenCopies ( if: isShared, of: & d) { d in
442+ withHiddenCopies ( if: isShared, of: & d, checker : { $0 . _checkInvariants ( ) } ) { d in
443443 d. elements. removeAll ( where: { !$0. key. payload. isMultiple ( of: n) } )
444444 reference. removeAll ( where: { !$0. key. payload. isMultiple ( of: n) } )
445445 expectEqualElements ( d, reference)
0 commit comments