         let promise = Task<Int>.Promise()
         let task = promise.andThen(upon: customExecutor) { _ throws -> Task<String> in throw TestError.first }
 
-        XCTAssertEqual(task.progress.completedUnitCount, 0)
-        XCTAssertEqual(task.progress.totalUnitCount, 2)
         XCTAssertEqual(task.progress.fractionCompleted, 0)
 
         promise.succeed(with: 9000)

        let promise = Task<Int>.Promise()
        let task = promise.andThen(upon: customExecutor) { self.delaySuccessAsFuture($0 * 2) }

        XCTAssertEqual(task.progress.completedUnitCount, 0)
        XCTAssertEqual(task.progress.totalUnitCount, 2)
        XCTAssertEqual(task.progress.fractionCompleted, 0)

        promise.succeed(with: 9000)

            expectationThatCustomExecutor(isCalledAtLeast: 1)
        ], timeout: shortTimeout)

        XCTAssertEqual(task.progress.fractionCompleted, 1)
    }

