Mercurial > public > simoleon
annotate SimoleonTests/SimoleonTests.swift @ 154:8afba86ab8dd
Refactor code
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Wed, 25 Aug 2021 10:43:12 +0100 |
parents | 2590ee472aa9 |
children | 8c3bbd640103 |
rev | line source |
---|---|
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
1 // |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
2 // SimoleonTests.swift |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
3 // SimoleonTests |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 // |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 08/07/2021. |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
6 // |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
7 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
8 import XCTest |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
9 @testable import Simoleon |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
10 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
11 class SimoleonTests: XCTestCase { |
154
8afba86ab8dd
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
153
diff
changeset
|
12 let fileController = FileController() |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
13 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
14 override func setUpWithError() throws { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
15 // Put setup code here. This method is called before the invocation of each test method in the class. |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
16 continueAfterFailure = false |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
17 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
18 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
19 override func tearDownWithError() throws { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
20 // Put teardown code here. This method is called after the invocation of each test method in the class. |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 } |
151
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
22 |
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
23 func testReadJson() throws { |
154
8afba86ab8dd
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
153
diff
changeset
|
24 let currencyPairsSupported: [String]? = try? fileController.read(json: "CurrencyPairsSupported.json") |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
25 XCTAssertNotNil(currencyPairsSupported, "An error occurred while reading CurrencyPairsSupported.json") |
151
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
26 |
154
8afba86ab8dd
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
153
diff
changeset
|
27 let currencyDetails: [String: CurrencyDetailsModel]? = try? fileController.read(json: "CurrencyDetails.json") |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
28 XCTAssertNotNil(currencyDetails, "An error occurred while reading CurrencyDetails.json") |
151
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
29 } |
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
30 |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
31 func testCurrencyExistence() throws { |
154
8afba86ab8dd
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
153
diff
changeset
|
32 let currencyDetails: [String: CurrencyDetailsModel] = try! fileController.read(json: "CurrencyDetails.json") |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
33 |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
34 // Remove duplicates from currency pairs supported |
154
8afba86ab8dd
Refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
153
diff
changeset
|
35 let currencyPairsSupported: [String] = try! fileController.read(json: "CurrencyPairsSupported.json") |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
36 var currenciesSupported = Set<String>() |
151
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
37 |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
38 for currencyPairSupported in currencyPairsSupported { |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
39 let symbols = currencyPairSupported.components(separatedBy: "/") |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
40 for symbol in symbols { |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
41 currenciesSupported.insert(symbol) |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
42 XCTAssertNotNil(currencyDetails[symbol], "Currency details of symbol: \(symbol) can't be found") |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
43 XCTAssertTrue((UIImage(named: currencyDetails[symbol]!.flag) != nil), "Flag of symbol: \(symbol) can't be found") |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
44 } |
151
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
45 } |
153
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
46 |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
47 // Check if there are same number of currencies |
2590ee472aa9
Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
151
diff
changeset
|
48 XCTAssertEqual(currencyDetails.keys.count, currenciesSupported.count) |
151
bdedd0cc6cd1
Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
120
diff
changeset
|
49 } |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
50 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
51 func testPerformanceExample() throws { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
52 // This is an example of a performance test case. |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
53 self.measure { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
54 // Put the code you want to measure the time of here. |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
55 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
56 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
57 } |