Mercurial > public > simoleon
annotate SimoleonTests/SimoleonTests.swift @ 82:3133bf6f6deb
Implemented Unit Testing
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Sun, 01 Aug 2021 10:30:10 +0100 |
parents | d25b02d439d4 |
children | 879e20d2a837 |
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. |
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 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
20 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 func testExample() throws { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
22 // This is an example of a functional test case. |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
23 // Use XCTAssert and related functions to verify your tests produce the correct results. |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
24 } |
82
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
25 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
26 func testMakeConversion() { |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
27 // Given |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
28 let testAmounts = ["iawuh", Int(100), Float(3450.30), Double(12530.43435)] as [Any] |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
29 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
30 for var amountToConvert in testAmounts { |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
31 // When |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
32 if let amountToConvert = amountToConvert as? Double { |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
33 // Then |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
34 XCTAssertEqual(amountToConvert, amountToConvert, "Amount to convert is not returning correctly") |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
35 } else { |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
36 // Then |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
37 amountToConvert = Int(0) |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
38 XCTAssertEqual(amountToConvert as! Int, 0, "Amount to convert must be 0") |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
39 } |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
40 } |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
41 } |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
42 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
43 func testFormatCurrency() { |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
44 // Given |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
45 let availableIdentifiers = Locale.availableIdentifiers |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
46 let amount: NSDecimalNumber = 1000 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
47 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
48 for identifier in availableIdentifiers { |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
49 let locale = Locale(identifier: identifier) |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
50 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
51 let formatter = NumberFormatter() |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
52 formatter.locale = locale |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
53 formatter.numberStyle = .currency |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
54 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
55 XCTAssertTrue((formatter.string(from: amount as NSNumber) != nil)) |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
56 } |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
57 |
3133bf6f6deb
Implemented Unit Testing
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
42
diff
changeset
|
58 } |
0
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
59 |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
60 func testPerformanceExample() throws { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
61 // This is an example of a performance test case. |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
62 self.measure { |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
63 // 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
|
64 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
65 } |
e0c2bda6c51f
first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
66 } |