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
@@ -286,52 +286,52 @@ final class AsyncAwaitTest: XCTestCase { // swiftlint:disable:this type_body_len
286286 }
287287
288288 final class ClassUnderTest {
289- var deinitCalled : ( ( ) -> Void ) ?
290- var count = 0
291- deinit { deinitCalled ? ( ) }
289+ let deinitCalled = LockedContainer < ( ( ) -> Void ) ? > ( nil )
290+ let count = LockedContainer ( 0 )
291+ deinit { deinitCalled. value ? ( ) }
292292 }
293293
294294 func testSubjectUnderTestIsReleasedFromMemory( ) async {
295- var subject : ClassUnderTest ? = ClassUnderTest ( )
295+ let subject = LockedContainer < ClassUnderTest ? > ( ClassUnderTest ( ) )
296296
297- if let sub = subject {
298- await expect ( sub. count) . toEventually ( equal ( 0 ) , timeout: . milliseconds( 100 ) )
299- await expect ( sub. count) . toEventuallyNot ( equal ( 1 ) , timeout: . milliseconds( 100 ) )
297+ if let sub = subject. value {
298+ await expect ( sub. count. value ) . toEventually ( equal ( 0 ) , timeout: . milliseconds( 100 ) )
299+ await expect ( sub. count. value ) . toEventuallyNot ( equal ( 1 ) , timeout: . milliseconds( 100 ) )
300300 }
301301
302302 await waitUntil ( timeout: . milliseconds( 500 ) ) { done in
303- subject? . deinitCalled = {
303+ subject. value ? . deinitCalled. set ( {
304304 done ( )
305- }
305+ } )
306306
307- deferToMainQueue { subject = nil }
307+ deferToMainQueue { subject. set ( nil ) }
308308 }
309309 }
310310
311311 func testToNeverPositiveMatches( ) async {
312- var value = 0
313- deferToMainQueue { value = 1 }
314- await expect { value } . toNever ( beGreaterThan ( 1 ) )
312+ let value = LockedContainer ( 0 )
313+ deferToMainQueue { value. set ( 1 ) }
314+ await expect { value. value } . toNever ( beGreaterThan ( 1 ) )
315315
316- deferToMainQueue { value = 0 }
317- await expect { value } . neverTo ( beGreaterThan ( 1 ) )
316+ deferToMainQueue { value. set ( 0 ) }
317+ await expect { value. value } . neverTo ( beGreaterThan ( 1 ) )
318318 }
319319
320320 func testToNeverNegativeMatches( ) async {
321- var value = 0
321+ let value = LockedContainer ( 0 )
322322 await failsWithErrorMessage ( " expected to never equal <0>, got <0> " ) {
323- await expect { value } . toNever ( equal ( 0 ) )
323+ await expect { value. value } . toNever ( equal ( 0 ) )
324324 }
325325 await failsWithErrorMessage ( " expected to never equal <0>, got <0> " ) {
326- await expect { value } . neverTo ( equal ( 0 ) )
326+ await expect { value. value } . neverTo ( equal ( 0 ) )
327327 }
328328 await failsWithErrorMessage ( " expected to never equal <1>, got <1> " ) {
329- deferToMainQueue { value = 1 }
330- await expect { value } . toNever ( equal ( 1 ) )
329+ deferToMainQueue { value. set ( 1 ) }
330+ await expect { value. value } . toNever ( equal ( 1 ) )
331331 }
332332 await failsWithErrorMessage ( " expected to never equal <1>, got <1> " ) {
333- deferToMainQueue { value = 1 }
334- await expect { value } . neverTo ( equal ( 1 ) )
333+ deferToMainQueue { value. set ( 1 ) }
334+ await expect { value. value } . neverTo ( equal ( 1 ) )
335335 }
336336 await failsWithErrorMessage ( " unexpected error thrown: < \( errorToThrow) > " ) {
337337 await expect { try self . doThrowError ( ) } . toNever ( equal ( 0 ) )
@@ -342,29 +342,29 @@ final class AsyncAwaitTest: XCTestCase { // swiftlint:disable:this type_body_len
342342 }
343343
344344 func testToAlwaysPositiveMatches( ) async {
345- var value = 1
346- deferToMainQueue { value = 2 }
347- await expect { value } . toAlways ( beGreaterThan ( 0 ) )
345+ let value = LockedContainer ( 1 )
346+ deferToMainQueue { value. set ( 2 ) }
347+ await expect { value. value } . toAlways ( beGreaterThan ( 0 ) )
348348
349- deferToMainQueue { value = 2 }
350- await expect { value } . alwaysTo ( beGreaterThan ( 1 ) )
349+ deferToMainQueue { value. set ( 2 ) }
350+ await expect { value. value } . alwaysTo ( beGreaterThan ( 1 ) )
351351 }
352352
353353 func testToAlwaysNegativeMatches( ) async {
354- var value = 1
354+ let value = LockedContainer ( 1 )
355355 await failsWithErrorMessage ( " expected to always equal <0>, got <1> " ) {
356- await expect { value } . toAlways ( equal ( 0 ) )
356+ await expect { value. value } . toAlways ( equal ( 0 ) )
357357 }
358358 await failsWithErrorMessage ( " expected to always equal <0>, got <1> " ) {
359- await expect { value } . alwaysTo ( equal ( 0 ) )
359+ await expect { value. value } . alwaysTo ( equal ( 0 ) )
360360 }
361361 await failsWithErrorMessage ( " expected to always equal <1>, got <0> " ) {
362- deferToMainQueue { value = 0 }
363- await expect { value } . toAlways ( equal ( 1 ) )
362+ deferToMainQueue { value. set ( 0 ) }
363+ await expect { value. value } . toAlways ( equal ( 1 ) )
364364 }
365365 await failsWithErrorMessage ( " expected to always equal <1>, got <0> " ) {
366- deferToMainQueue { value = 0 }
367- await expect { value } . alwaysTo ( equal ( 1 ) )
366+ deferToMainQueue { value. set ( 0 ) }
367+ await expect { value. value } . alwaysTo ( equal ( 1 ) )
368368 }
369369 await failsWithErrorMessage ( " unexpected error thrown: < \( errorToThrow) > " ) {
370370 await expect { try self . doThrowError ( ) } . toAlways ( equal ( 0 ) )
0 commit comments