CommandLineToolkit

Форк
0
39 строк · 1.1 Кб
1
import Foundation
2
import SynchronousWaiter
3
import TestHelpers
4
import XCTest
5

6
class WaiterTests: XCTestCase {
7
    let waiterUnderTest: Waiter = SynchronousWaiter()
8
    
9
    func test___waiting_for_unwrap___provides_result_if_provider_returns_result() {
10
        assertDoesNotThrow {
11
            let result: String = try waiterUnderTest.waitForUnwrap(
12
                timeout: 1,
13
                valueProvider: { "hello" },
14
                description: ""
15
            )
16
            XCTAssertEqual(result, "hello")
17
        }
18
    }
19
    
20
    func test___waiting_for_unwrap___throws_on_timeout() {
21
        assertThrows {
22
            let _: String = try waiterUnderTest.waitForUnwrap(
23
                timeout: 0,
24
                valueProvider: { nil },
25
                description: ""
26
            )
27
        }
28
    }
29
    
30
    func test___waiting_for_unwrap___throws_if_provider_throws() {
31
        assertThrows {
32
            let _: String = try waiterUnderTest.waitForUnwrap(
33
                timeout: 0,
34
                valueProvider: { throw ErrorForTestingPurposes(text: "sample error") },
35
                description: ""
36
            )
37
        }
38
    }
39
}
40

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.