11#if !os(WASI)
22
33import XCTest
4- import Nimble
4+ @ testable import Nimble
55#if SWIFT_PACKAGE
66import NimbleSharedTestHelpers
77#endif
@@ -24,12 +24,12 @@ final class AsyncAwaitTest: XCTestCase { // swiftlint:disable:this type_body_len
2424 }
2525
2626 func testToEventuallyPositiveMatches( ) async {
27- var value = 0
28- deferToMainQueue { value = 1 }
29- await expect { value } . toEventually ( equal ( 1 ) )
27+ let value = LockedContainer ( 0 )
28+ deferToMainQueue { value. set ( 1 ) }
29+ await expect { value. value } . toEventually ( equal ( 1 ) )
3030
31- deferToMainQueue { value = 0 }
32- await expect { value } . toEventuallyNot ( equal ( 1 ) )
31+ deferToMainQueue { value. set ( 0 ) }
32+ await expect { value. value } . toEventuallyNot ( equal ( 1 ) )
3333 }
3434
3535 func testToEventuallyNegativeMatches( ) async {
@@ -145,23 +145,23 @@ final class AsyncAwaitTest: XCTestCase { // swiftlint:disable:this type_body_len
145145 PollingDefaults . timeout = . seconds( 1 )
146146 }
147147
148- var value = 0
148+ let value = LockedContainer ( 0 )
149149
150150 let sleepThenSetValueTo : ( Int ) -> Void = { newValue in
151151 Thread . sleep ( forTimeInterval: 1.1 )
152- value = newValue
152+ value. set ( newValue)
153153 }
154154
155155 let task = Task {
156156 sleepThenSetValueTo ( 1 )
157157 }
158- await expect { value } . toEventually ( equal ( 1 ) )
158+ await expect { value. value } . toEventually ( equal ( 1 ) )
159159
160160 let secondTask = Task {
161161 sleepThenSetValueTo ( 0 )
162162 }
163163
164- await expect { value } . toEventuallyNot ( equal ( 1 ) )
164+ await expect { value. value } . toEventuallyNot ( equal ( 1 ) )
165165
166166 _ = await task. value
167167 _ = await secondTask. result
@@ -295,52 +295,52 @@ final class AsyncAwaitTest: XCTestCase { // swiftlint:disable:this type_body_len
295295 }
296296
297297 final class ClassUnderTest {
298- var deinitCalled : ( ( ) -> Void ) ?
299- var count = 0
300- deinit { deinitCalled ? ( ) }
298+ let deinitCalled = LockedContainer < ( ( ) -> Void ) ? > ( nil )
299+ let count = LockedContainer ( 0 )
300+ deinit { deinitCalled. value ? ( ) }
301301 }
302302
303303 func testSubjectUnderTestIsReleasedFromMemory( ) async {
304- var subject : ClassUnderTest ? = ClassUnderTest ( )
304+ let subject = LockedContainer < ClassUnderTest ? > ( ClassUnderTest ( ) )
305305
306- if let sub = subject {
307- await expect ( sub. count) . toEventually ( equal ( 0 ) , timeout: . milliseconds( 100 ) )
308- await expect ( sub. count) . toEventuallyNot ( equal ( 1 ) , timeout: . milliseconds( 100 ) )
306+ if let sub = subject. value {
307+ await expect ( sub. count. value ) . toEventually ( equal ( 0 ) , timeout: . milliseconds( 100 ) )
308+ await expect ( sub. count. value ) . toEventuallyNot ( equal ( 1 ) , timeout: . milliseconds( 100 ) )
309309 }
310310
311311 await waitUntil ( timeout: . milliseconds( 500 ) ) { done in
312- subject? . deinitCalled = {
312+ subject. value ? . deinitCalled. set ( {
313313 done ( )
314- }
314+ } )
315315
316- deferToMainQueue { subject = nil }
316+ deferToMainQueue { subject. set ( nil ) }
317317 }
318318 }
319319
320320 func testToNeverPositiveMatches( ) async {
321- var value = 0
322- deferToMainQueue { value = 1 }
323- await expect { value } . toNever ( beGreaterThan ( 1 ) )
321+ let value = LockedContainer ( 0 )
322+ deferToMainQueue { value. set ( 1 ) }
323+ await expect { value. value } . toNever ( beGreaterThan ( 1 ) )
324324
325- deferToMainQueue { value = 0 }
326- await expect { value } . neverTo ( beGreaterThan ( 1 ) )
325+ deferToMainQueue { value. set ( 0 ) }
326+ await expect { value. value } . neverTo ( beGreaterThan ( 1 ) )
327327 }
328328
329329 func testToNeverNegativeMatches( ) async {
330- var value = 0
330+ let value = LockedContainer ( 0 )
331331 await failsWithErrorMessage ( " expected to never equal <0>, got <0> " ) {
332- await expect { value } . toNever ( equal ( 0 ) )
332+ await expect { value. value } . toNever ( equal ( 0 ) )
333333 }
334334 await failsWithErrorMessage ( " expected to never equal <0>, got <0> " ) {
335- await expect { value } . neverTo ( equal ( 0 ) )
335+ await expect { value. value } . neverTo ( equal ( 0 ) )
336336 }
337337 await failsWithErrorMessage ( " expected to never equal <1>, got <1> " ) {
338- deferToMainQueue { value = 1 }
339- await expect { value } . toNever ( equal ( 1 ) )
338+ deferToMainQueue { value. set ( 1 ) }
339+ await expect { value. value } . toNever ( equal ( 1 ) )
340340 }
341341 await failsWithErrorMessage ( " expected to never equal <1>, got <1> " ) {
342- deferToMainQueue { value = 1 }
343- await expect { value } . neverTo ( equal ( 1 ) )
342+ deferToMainQueue { value. set ( 1 ) }
343+ await expect { value. value } . neverTo ( equal ( 1 ) )
344344 }
345345 await failsWithErrorMessage ( " unexpected error thrown: < \( errorToThrow) > " ) {
346346 await expect { try self . doThrowError ( ) } . toNever ( equal ( 0 ) )
@@ -351,29 +351,29 @@ final class AsyncAwaitTest: XCTestCase { // swiftlint:disable:this type_body_len
351351 }
352352
353353 func testToAlwaysPositiveMatches( ) async {
354- var value = 1
355- deferToMainQueue { value = 2 }
356- await expect { value } . toAlways ( beGreaterThan ( 0 ) )
354+ let value = LockedContainer ( 1 )
355+ deferToMainQueue { value. set ( 2 ) }
356+ await expect { value. value } . toAlways ( beGreaterThan ( 0 ) )
357357
358- deferToMainQueue { value = 2 }
359- await expect { value } . alwaysTo ( beGreaterThan ( 1 ) )
358+ deferToMainQueue { value. set ( 2 ) }
359+ await expect { value. value } . alwaysTo ( beGreaterThan ( 1 ) )
360360 }
361361
362362 func testToAlwaysNegativeMatches( ) async {
363- var value = 1
363+ let value = LockedContainer ( 1 )
364364 await failsWithErrorMessage ( " expected to always equal <0>, got <1> " ) {
365- await expect { value } . toAlways ( equal ( 0 ) )
365+ await expect { value. value } . toAlways ( equal ( 0 ) )
366366 }
367367 await failsWithErrorMessage ( " expected to always equal <0>, got <1> " ) {
368- await expect { value } . alwaysTo ( equal ( 0 ) )
368+ await expect { value. value } . alwaysTo ( equal ( 0 ) )
369369 }
370370 await failsWithErrorMessage ( " expected to always equal <1>, got <0> " ) {
371- deferToMainQueue { value = 0 }
372- await expect { value } . toAlways ( equal ( 1 ) )
371+ deferToMainQueue { value. set ( 0 ) }
372+ await expect { value. value } . toAlways ( equal ( 1 ) )
373373 }
374374 await failsWithErrorMessage ( " expected to always equal <1>, got <0> " ) {
375- deferToMainQueue { value = 0 }
376- await expect { value } . alwaysTo ( equal ( 1 ) )
375+ deferToMainQueue { value. set ( 0 ) }
376+ await expect { value. value } . alwaysTo ( equal ( 1 ) )
377377 }
378378 await failsWithErrorMessage ( " unexpected error thrown: < \( errorToThrow) > " ) {
379379 await expect { try self . doThrowError ( ) } . toAlways ( equal ( 0 ) )
0 commit comments