-
Notifications
You must be signed in to change notification settings - Fork 215
/
Copy pathMedium_029_Divide_Two_Integers_Test.swift
145 lines (141 loc) · 4.7 KB
/
Medium_029_Divide_Two_Integers_Test.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//
// Medium_029_Divide_Two_Integers_Test.swift
// Solutions
//
// Created by Di Wu on 5/9/15.
// Copyright (c) 2015 diwu. All rights reserved.
//
import XCTest
class Medium_029_Divide_Two_Integers_Test: XCTestCase, SolutionsTestCase {
func test_001() {
let input: [Int] = [3, 1]
let expected: Int = 3
asyncHelper(input: input, expected: expected)
}
func test_002() {
let input: [Int] = [-1, 1]
let expected: Int = -1
asyncHelper(input: input, expected: expected)
}
func test_003() {
let input: [Int] = [11, 3]
let expected: Int = 3
asyncHelper(input: input, expected: expected)
}
func test_004() {
let input: [Int] = [999, 0]
let expected: Int = Int.max
asyncHelper(input: input, expected: expected)
}
func test_005() {
let input: [Int] = [-999, 0]
let expected: Int = Int.max
asyncHelper(input: input, expected: expected)
}
func test_006() {
let input: [Int] = [Int.min, -1]
let expected: Int = Int.max
asyncHelper(input: input, expected: expected)
}
func test_007() {
let input: [Int] = [Int.max, -1]
let expected: Int = 0 - Int.max
asyncHelper(input: input, expected: expected)
}
func test_008() {
let input: [Int] = [Int.max, -2]
let expected: Int = Int.max / (-2)
asyncHelper(input: input, expected: expected)
}
func test_009() {
let input: [Int] = [Int.min, -999]
let expected: Int = Int.min / (-999)
asyncHelper(input: input, expected: expected)
}
func test_010() {
let input: [Int] = [Int.max, 1]
let expected: Int = Int.max
asyncHelper(input: input, expected: expected)
}
func test_011() {
let input: [Int] = [Int.max, 3]
let expected: Int = Int.max/3
asyncHelper(input: input, expected: expected)
}
func test_012() {
let input: [Int] = [Int.max, Int.min]
let expected: Int = 0
asyncHelper(input: input, expected: expected)
}
func test_013() {
let input: [Int] = [Int.min, Int.max]
let expected: Int = -1
asyncHelper(input: input, expected: expected)
}
func test_014() {
let input: [Int] = [Int.min, Int.min]
let expected: Int = 1
asyncHelper(input: input, expected: expected)
}
func test_015() {
let input: [Int] = [Int.max, Int.max]
let expected: Int = 1
asyncHelper(input: input, expected: expected)
}
func test_016() {
let input: [Int] = [Int.max - 3, Int.max - 2]
let expected: Int = 0
asyncHelper(input: input, expected: expected)
}
func test_017() {
let input: [Int] = [Int.max - 2, Int.max - 3]
let expected: Int = 1
asyncHelper(input: input, expected: expected)
}
func test_018() {
let input: [Int] = [Int.min + 2, Int.min + 3]
let expected: Int = 1
asyncHelper(input: input, expected: expected)
}
func test_019() {
let input: [Int] = [Int.min + 3, Int.min + 2]
let expected: Int = 0
asyncHelper(input: input, expected: expected)
}
func test_020() {
let input: [Int] = [Int.min + 3, 99]
let expected: Int = (Int.min + 3) / 99
asyncHelper(input: input, expected: expected)
}
func test_021() {
let input: [Int] = [Int.max - 3, 99]
let expected: Int = (Int.max - 3) / 99
asyncHelper(input: input, expected: expected)
}
func test_022() {
let input: [Int] = [9876, 54]
let expected: Int = 9876 / 54
asyncHelper(input: input, expected: expected)
}
func test_023() {
let input: [Int] = [9876, -54]
let expected: Int = 9876 / -54
asyncHelper(input: input, expected: expected)
}
private func asyncHelper(input ipt: [Int], expected: Int) {
let input = ipt
weak var expectation: XCTestExpectation? = self.expectation(description: timeOutName())
serialQueue().async(execute: { () -> Void in
let result: Int = Medium_029_Divide_Two_Integers.divide(dividend: input[0], divisor: input[1])
assertHelper(expected == result, problemName: self.problemName(), input: input, resultValue: result, expectedValue: expected)
if let unwrapped = expectation {
unwrapped.fulfill()
}
})
waitForExpectations(timeout: timeOut()) { (error: Error?) -> Void in
if error != nil {
assertHelper(false, problemName: self.problemName(), input: input, resultValue: self.timeOutName(), expectedValue: expected)
}
}
}
}