func testTaskForCompletionOfAllTasksOneError()

in OSSSwiftDemo/OSSSwiftDemoTests/OSSTaskTests.swift [363:393]


    func testTaskForCompletionOfAllTasksOneError() {
        var tasks: [OSSTask<AnyObject>] = [] as! [OSSTask<AnyObject>]
        for index in 0...19 {
            let task = OSSTask<AnyObject>.init(delay: Int32(arc4random() % 100)).continue({ (t) -> Any? in
                if index == 10 {
                    let error = NSError.init(domain: "OSS-SWIFT-SDK", code: 35, userInfo: nil)
                    return OSSTask<AnyObject>.init(error: error)
                }
                return index
            })
            tasks.append(task)
        }
        
        OSSTask<AnyObject>.init(forCompletionOfAllTasks: tasks).continue({ (t) -> Any? in
            XCTAssertNotNil(t.error)
            XCTAssertFalse(t.isCancelled)
            let error = t.error! as NSError
            XCTAssertEqual("OSS-SWIFT-SDK", error.domain)
            XCTAssertEqual(35, error.code)
            
            for index in 0...19 {
                if index == 10 {
                    XCTAssertNotNil(tasks[index].error);
                } else {
                    XCTAssertEqual(index, (tasks[index].result as! Int))
                }
            }
            
            return nil
        }).waitUntilFinished()
    }