marshroute

Форк
0
/
AnimatingTransitionsHandlerTests.swift 
96 строк · 4.0 Кб
1
import XCTest
2
@testable import Marshroute
3

4
final class AnimatingTransitionsHandlerTests: XCTestCase {
5

6
    var transitionsCoordinatorSpy: TransitionsCoordinatorSpy!
7
    var animatingTransitionsHandler: AnimatingTransitionsHandler!
8
    
9
    override func setUp() {
10
        super.setUp()
11
        
12
        transitionsCoordinatorSpy = TransitionsCoordinatorSpy()
13
        
14
        animatingTransitionsHandler = BaseAnimatingTransitionsHandler(
15
            transitionsCoordinator: transitionsCoordinatorSpy
16
        )
17
    }
18
    
19
    // MARK: - TransitionsHandler
20
    
21
    func testThatAnimatingTransitionsHandlerForwards_PerformTransition_CallsToItsTransitionsCoordinator() {
22
        // Given
23
        let presentationContext = TransitionContextsCreator.createPresentationTransitionContext()
24
        
25
        // When
26
        animatingTransitionsHandler.performTransition(context: presentationContext)
27
        
28
        // Then
29
        if case .forAnimating(let context, let transitionsHandler) = transitionsCoordinatorSpy.coordinatePerformingTransition! {
30
            XCTAssert(context == presentationContext)
31
            XCTAssert(transitionsHandler === animatingTransitionsHandler)
32
        } else { XCTFail() }
33
    }
34
    
35
    func testThatAnimatingTransitionsHandlerForwards_UndoTransitionsAfter_CallsToItsTransitionsCoordinator() {
36
        // Given
37
        let generatedTansitionId = TransitionIdGeneratorImpl().generateNewTransitionId()
38
        
39
        // When
40
        animatingTransitionsHandler.undoTransitionsAfter(transitionId: generatedTansitionId)
41
        
42
        // Then
43
        if case .forAnimating(let transitionId, let transitionsHandler) = transitionsCoordinatorSpy.coordinateUndoingTransitionsAfter! {
44
            XCTAssert(transitionId == generatedTansitionId)
45
            XCTAssert(transitionsHandler === animatingTransitionsHandler)
46
        } else { XCTFail() }
47
    }
48
    
49
    func testThatAnimatingTransitionsHandlerForwards_UndoTransitionWith_CallsToItsTransitionsCoordinator() {
50
        // Given
51
        let generatedTansitionId = TransitionIdGeneratorImpl().generateNewTransitionId()
52
        
53
        // When
54
        animatingTransitionsHandler.undoTransitionWith(transitionId: generatedTansitionId)
55
        
56
        // Then
57
        if case .forAnimating(let transitionId, let transitionsHandler) = transitionsCoordinatorSpy.coordinateUndoingTransitionWith! {
58
            XCTAssert(transitionId == generatedTansitionId)
59
            XCTAssert(transitionsHandler === animatingTransitionsHandler)
60
        } else { XCTFail() }
61
    }
62
    
63
    func testThatAnimatingTransitionsHandlerForwards_UndoAllChainedTransitions_CallsToItsTransitionsCoordinator() {
64
        // When
65
        animatingTransitionsHandler.undoAllChainedTransitions()
66
        
67
        // Then
68
        if case .forAnimating(let transitionsHandler) = transitionsCoordinatorSpy.coordinateUndoingAllChainedTransitions! {
69
            XCTAssert(transitionsHandler === animatingTransitionsHandler)
70
        } else { XCTFail() }
71
    }
72
    
73
    func testThatAnimatingTransitionsHandlerForwards_UndoAllTransitions_CallsToItsTransitionsCoordinator() {
74
        // When
75
        animatingTransitionsHandler.undoAllTransitions()
76
        
77
        // Then
78
        if case .forAnimating(let transitionsHandler) = transitionsCoordinatorSpy.coordinateUndoingAllTransitions! {
79
            XCTAssert(transitionsHandler === animatingTransitionsHandler)
80
        } else { XCTFail() }
81
    }
82

83
    func testThatAnimatingTransitionsHandlerForwards_ResetWithTransition_CallsToItsTransitionsCoordinator() {
84
        // Given
85
        let resettingContext = TransitionContextsCreator.createRegisteringEndpointNavigationControllerTransitionContext()
86
        
87
        // When
88
        animatingTransitionsHandler.resetWithTransition(context: resettingContext)
89
        
90
        // Then
91
        if case .forAnimating(let context, let transitionsHandler) = transitionsCoordinatorSpy.coordinateResettingWithTransition! {
92
            XCTAssert(context == resettingContext)
93
            XCTAssert(transitionsHandler === animatingTransitionsHandler)
94
        } else { XCTFail() }
95
    }
96
}
97

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

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

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

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