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
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.
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 }