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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }