annotate SimoleonTests/SimoleonTests.swift @ 163:35573bdd7d9b

Remove revenuecat
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Sat, 11 Sep 2021 16:28:44 +0200
parents 3913aff613e8
children ad8c6567539d
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 //
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
5 // Created by Dennis Concepción Martín on 27/8/21.
0
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.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 }
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 override func tearDownWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 // 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
19 }
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
20
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
21 func testGetAllCurrencies() throws {
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
22 // Create test cases
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
23 let testCases = [1: ["USD/GBP", "EUR/AED"], 2: ["USD/GBP", "USD/EUR"]]
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
24 let expectedResults = [1: ["USD", "EUR"], 2: ["USD"]]
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
25
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
26 // Test
161
3913aff613e8 Fix bug that didn't request API on symbol change
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 160
diff changeset
27 let currencySelector = CurrencySelector(currencyConversion: CurrencyConversion())
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
28 for testCaseNumber in testCases.keys {
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
29 print("Testing case: \(testCaseNumber)")
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
30 let mockData = testCases[testCaseNumber]!
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
31 let allCurrencies = currencySelector.get(currencyType: .all, from: mockData)
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
32
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
33 // Assert
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
34 XCTAssertEqual(allCurrencies, expectedResults[testCaseNumber])
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
35 }
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
36 }
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
37
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
38 func testGetCompatibleCurrencies() throws {
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
39 // Create test cases
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
40 let testCases = [1: ["USD/GBP", "EUR/AED"], 2: ["USD/GBP", "USD/EUR"], 3: ["EUR/AED"]]
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
41 let expectedResults = [1: ["GBP"], 2: ["GBP", "EUR"], 3: []]
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
42
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
43 // Test
161
3913aff613e8 Fix bug that didn't request API on symbol change
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 160
diff changeset
44 let currencySelector = CurrencySelector(currencyConversion: CurrencyConversion())
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
45 for testCaseNumber in testCases.keys {
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
46 print("Testing case: \(testCaseNumber)")
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
47 let mockData = testCases[testCaseNumber]!
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
48 let compatibleCurrencies =
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
49 currencySelector.get(
161
3913aff613e8 Fix bug that didn't request API on symbol change
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 160
diff changeset
50 currencyType: .compatible(with: currencySelector.currencyConversion.baseSymbol), from: mockData
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
51 )
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
52
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
53 // Assert
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
54 XCTAssertEqual(compatibleCurrencies, expectedResults[testCaseNumber])
151
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
55 }
bdedd0cc6cd1 Add test flag existence
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 120
diff changeset
56 }
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
57
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
58 func testPerformanceExample() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
59 // This is an example of a performance test case.
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
60 measure {
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
61 // 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
62 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
63 }
157
8c3bbd640103 Implement Currency Selector
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 154
diff changeset
64
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
65 }