Skip to content

Commit f97d958

Browse files
authored
Merge pull request #596 from remlostime/coin-swift
[Swift 4] Update Minimum Coin Change
2 parents 1951e8c + c66f3c3 commit f97d958

File tree

1 file changed

+27
-20
lines changed

1 file changed

+27
-20
lines changed

MinimumCoinChange/Tests/MinimumCoinChangeTests/MinimumCoinChangeTests.swift

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,34 @@ import XCTest
22
@testable import MinimumCoinChange
33

44
class MinimumCoinChangeTests: XCTestCase {
5-
func testExample() {
6-
let mcc = MinimumCoinChange(coinSet: [1, 2, 5, 10, 20, 25])
7-
print("Coin set: \(mcc.sortedCoinSet)")
8-
9-
do {
10-
for i in 0..<100 {
11-
let greedy = try mcc.changeGreedy(i)
12-
let dynamic = try mcc.changeDynamic(i)
13-
14-
XCTAssertEqual(greedy.reduce(0, +), dynamic.reduce(0, +), "Greedy and Dynamic return two different changes")
15-
16-
if greedy.count != dynamic.count {
17-
print("\(i): greedy = \(greedy) dynamic = \(dynamic)")
18-
}
19-
}
20-
} catch {
21-
XCTFail("Test Failed: impossible to change with the given coin set")
5+
func testSwift4() {
6+
// last checked with Xcode 9.0b4
7+
#if swift(>=4.0)
8+
print("Hello, Swift 4!")
9+
#endif
10+
}
11+
12+
func testExample() {
13+
let mcc = MinimumCoinChange(coinSet: [1, 2, 5, 10, 20, 25])
14+
print("Coin set: \(mcc.sortedCoinSet)")
15+
16+
do {
17+
for i in 0..<100 {
18+
let greedy = try mcc.changeGreedy(i)
19+
let dynamic = try mcc.changeDynamic(i)
20+
21+
XCTAssertEqual(greedy.reduce(0, +), dynamic.reduce(0, +), "Greedy and Dynamic return two different changes")
22+
23+
if greedy.count != dynamic.count {
24+
print("\(i): greedy = \(greedy) dynamic = \(dynamic)")
2225
}
26+
}
27+
} catch {
28+
XCTFail("Test Failed: impossible to change with the given coin set")
2329
}
24-
25-
static var allTests = [
26-
("testExample", testExample),
30+
}
31+
32+
static var allTests = [
33+
("testExample", testExample),
2734
]
2835
}

0 commit comments

Comments
 (0)