File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -167,10 +167,12 @@ class URLSessionClientLiveTests: XCTestCase {
167167 let expectation = self . expectation ( description: " request sent, response received " )
168168 let iterations = 20
169169 expectation. expectedFulfillmentCount = iterations
170+ let taskIDs = Atomic < [ Int ] > ( [ ] )
171+
170172 DispatchQueue . concurrentPerform ( iterations: iterations, execute: { index in
171173 let request = self . request ( for: . getWithIndex( index: index) )
172174
173- self . client. sendRequest ( request) { result in
175+ let task = self . client. sendRequest ( request) { result in
174176 switch result {
175177 case . success( ( let data, let response) ) :
176178 XCTAssertEqual ( response. url, request. url)
@@ -190,8 +192,17 @@ class URLSessionClientLiveTests: XCTestCase {
190192 expectation. fulfill ( )
191193 }
192194 }
195+
196+ taskIDs. mutate { $0. append ( task. taskIdentifier) }
193197 } )
194198
195199 self . wait ( for: [ expectation] , timeout: 30 )
200+
201+ // Were the correct number of tasks created?
202+ XCTAssertEqual ( taskIDs. value. count, iterations)
203+
204+ // Using a set to unique, are all task IDs different values?)
205+ let set = Set ( taskIDs. value)
206+ XCTAssertEqual ( set. count, iterations)
196207 }
197208}
You can’t perform that action at this time.
0 commit comments