marshroute
/
PeekAndPopUtilityImplTests_registersViewControllerForPreviewing.swift
80 строк · 3.2 Кб
1import XCTest
2@testable import Marshroute
3
4final class PeekAndPopUtilityImplTests_registersViewControllerForPreviewing: BasePeekAndPopUtilityImplTestCase {
5func testPeekAndPopUtility_registersViewControllerForPreviewing_ifViewControllerWasNotRegisteredBefore() {
6// When
7sourceViewController.shouldStartSpying = true
8registerSourceViewControllerForPreviewing()
9
10// Then
11XCTAssert(sourceViewController.registerForPreviewingCalledCount == 1)
12XCTAssert(sourceViewController.unregisterForPreviewingCalledCount == 0)
13}
14
15func testPeekAndPopUtility_reregistersViewControllerForPreviewing_ifViewControllerWasRegisteredBeforeWithSameView() {
16// Given
17registerSourceViewControllerForPreviewing()
18
19// When
20sourceViewController.shouldStartSpying = true
21registerSourceViewControllerForPreviewing()
22
23// Then
24XCTAssert(sourceViewController.registerForPreviewingCalledCount == 1)
25XCTAssert(sourceViewController.unregisterForPreviewingCalledCount == 1)
26}
27
28func testPeekAndPopUtility_registersViewControllerForPreviewing_ifViewControllerWasRegisteredBeforeWithOtherView() {
29// Given
30registerSourceViewControllerForPreviewing()
31
32// When
33sourceViewController.shouldStartSpying = true
34registerSourceViewControllerForPreviewingWithOtherSourceView()
35
36// Then
37XCTAssert(sourceViewController.registerForPreviewingCalledCount == 1)
38XCTAssert(sourceViewController.unregisterForPreviewingCalledCount == 0)
39}
40
41func testPeekAndPopUtility_unregistersViewControllerFromPreviewing_ifViewControllerWasRegisteredBeforeWithSameView() {
42// Given
43registerSourceViewControllerForPreviewing()
44
45// When
46sourceViewController.shouldStartSpying = true
47unregisterSourceViewControllerFromPreviewing()
48
49// Then
50XCTAssert(sourceViewController.registerForPreviewingCalledCount == 0)
51XCTAssert(sourceViewController.unregisterForPreviewingCalledCount == 1)
52}
53
54func testPeekAndPopUtility_unregistersNoViewControllerFromPreviewing_ifViewControllerWasRegisteredBeforeWithOtherView() {
55// Given
56registerSourceViewControllerForPreviewing()
57
58// When
59sourceViewController.shouldStartSpying = true
60unregisterSourceViewControllerFromPreviewingWithOtherSourceView()
61
62// Then
63XCTAssert(sourceViewController.registerForPreviewingCalledCount == 0)
64XCTAssert(sourceViewController.unregisterForPreviewingCalledCount == 0)
65}
66
67func testPeekAndPopUtility_unregistersViewControllerFromPreviewing_ifViewControllerWasRegisteredBeforeWithManyViews() {
68// Given
69registerSourceViewControllerForPreviewing()
70registerSourceViewControllerForPreviewingWithOtherSourceView()
71
72// When
73sourceViewController.shouldStartSpying = true
74unregisterSourceViewControllerFromPreviewingInAllSourceViews()
75
76// Then
77XCTAssert(sourceViewController.registerForPreviewingCalledCount == 0)
78XCTAssert(sourceViewController.unregisterForPreviewingCalledCount == 2)
79}
80}
81