Files
GradientLoadingBar/Example/ExampleTests/ViewModel/NotchGradientLoadingBarViewModelTestCase.swift
T
Felix Mau 555b5309a9 Merge branch 'main' into feature/add-support-for-swiftui
# Conflicts:
#	Example/ExampleTests/ViewModel/NotchGradientLoadingBarViewModelTestCase.swift
#	Example/Podfile.lock
#	Example/Pods/Manifest.lock
#	GradientLoadingBar/NotchGradientLoadingBarController.swift
2022-03-16 17:42:48 +01:00

90 lines
2.7 KiB
Swift

//
// NotchGradientLoadingBarViewModelTestCase.swift
// ExampleTests
//
// Created by Felix Mau on 26.12.17.
// Copyright © 2017 Felix Mau. All rights reserved.
//
import XCTest
@testable import GradientLoadingBar
final class NotchGradientLoadingBarViewModelTestCase: XCTestCase {
func test_initializer_shouldSetSafeAreaDevice_toIPhoneX() {
// Given
let deviceIdentifiers = ["iPhone10,3", "iPhone10,6", "iPhone11,2", "iPhone11,4", "iPhone11,6"]
deviceIdentifiers.forEach { deviceIdentifier in
// When
let viewModel = NotchGradientLoadingBarViewModel(deviceIdentifier: deviceIdentifier)
// Then
XCTAssertEqual(viewModel.safeAreaDevice, .iPhoneX)
}
}
func test_initializer_shouldSetSafeAreaDevice_toIPhoneXR() {
// Given
let deviceIdentifiers = ["iPhone11,8"]
deviceIdentifiers.forEach { deviceIdentifier in
// When
let viewModel = NotchGradientLoadingBarViewModel(deviceIdentifier: deviceIdentifier)
// Then
XCTAssertEqual(viewModel.safeAreaDevice, .iPhoneXR)
}
}
func test_initializer_shouldSetSafeAreaDevice_toIPhone11() {
// Given
let deviceIdentifiers = ["iPhone12,1", "iPhone12,3", "iPhone12,5"]
deviceIdentifiers.forEach { deviceIdentifier in
// When
let viewModel = NotchGradientLoadingBarViewModel(deviceIdentifier: deviceIdentifier)
// Then
XCTAssertEqual(viewModel.safeAreaDevice, .iPhone11)
}
}
func test_initializer_shouldSetSafeAreaDevice_toIPhone12() {
// Given
let deviceIdentifiers = ["iPhone13,1", "iPhone13,2", "iPhone13,3", "iPhone13,4"]
deviceIdentifiers.forEach { deviceIdentifier in
// When
let viewModel = NotchGradientLoadingBarViewModel(deviceIdentifier: deviceIdentifier)
// Then
XCTAssertEqual(viewModel.safeAreaDevice, .iPhone12)
}
}
func test_initializer_shouldSetSafeAreaDevice_toIPhone13() {
// Given
let deviceIdentifiers = ["iPhone14,4", "iPhone14,5", "iPhone14,2", "iPhone14,3"]
deviceIdentifiers.forEach { deviceIdentifier in
// When
let viewModel = NotchGradientLoadingBarViewModel(deviceIdentifier: deviceIdentifier)
// Then
XCTAssertEqual(viewModel.safeAreaDevice, .iPhone13)
}
}
func test_initializer_shouldSetSafeAreaDevice_toUnknown() {
// Given
let deviceIdentifier = "Foo-Bar-🤡"
// When
let viewModel = NotchGradientLoadingBarViewModel(deviceIdentifier: deviceIdentifier)
// Then
XCTAssertEqual(viewModel.safeAreaDevice, .unknown)
}
}