annotate SimoleonTests/SimoleonTests.swift @ 153:2590ee472aa9

Add test to check currency existence
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Mon, 23 Aug 2021 17:14:47 +0100
parents bdedd0cc6cd1
children 8afba86ab8dd
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 {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 override func setUpWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 // 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
15 continueAfterFailure = false
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 }
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 override func tearDownWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 // 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
20 }
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
21
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
22 func testReadJson() throws {
153
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
23 let currencyPairsSupported: [String]? = try? read(json: "CurrencyPairsSupported.json")
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
24 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
25
153
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
26 let currencyDetails: [String: CurrencyDetailsModel]? = try? read(json: "CurrencyDetails.json")
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
27 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
28 }
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
29
153
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
30 func testCurrencyExistence() throws {
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
31 let currencyDetails: [String: CurrencyDetailsModel] = try! read(json: "CurrencyDetails.json")
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
32
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
33 // Remove duplicates from currency pairs supported
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
34 let currencyPairsSupported: [String] = try! read(json: "CurrencyPairsSupported.json")
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
35 var currenciesSupported = Set<String>()
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
36
153
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
37 for currencyPairSupported in currencyPairsSupported {
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
38 let symbols = currencyPairSupported.components(separatedBy: "/")
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
39 for symbol in symbols {
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
40 currenciesSupported.insert(symbol)
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
41 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
42 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
43 }
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
44 }
153
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
45
2590ee472aa9 Add test to check currency existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 151
diff changeset
46 // 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
47 XCTAssertEqual(currencyDetails.keys.count, currenciesSupported.count)
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
48 }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
49
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
50 func testPerformanceExample() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
51 // This is an example of a performance test case.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
52 self.measure {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
53 // 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
54 }
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 }