Mercurial > public > geoquiz
annotate app/GeoQuizTests/GeoQuizTests.swift @ 42:bcfd86dcaf3a default tip
Move to mercurial
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Tue, 03 Jun 2025 14:15:38 +0100 |
parents | a355ff3947a4 |
children |
rev | line source |
---|---|
34
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
1 // |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
2 // GeoQuizTests.swift |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
3 // GeoQuizTests |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
4 // |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 12/11/22. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
6 // |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
7 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
8 import XCTest |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
9 @testable import GeoQuiz |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
10 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
11 final class GeoQuizTests: XCTestCase { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
12 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
13 override func setUpWithError() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
14 // Put setup code here. This method is called before the invocation of each test method in the class. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
15 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
16 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
17 override func tearDownWithError() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
18 // Put teardown code here. This method is called after the invocation of each test method in the class. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
19 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
20 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
21 func testExample() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
22 // This is an example of a functional test case. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
23 // Use XCTAssert and related functions to verify your tests produce the correct results. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
24 // Any test you write for XCTest can be annotated as throws and async. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
25 // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
26 // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
27 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
28 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
29 func testPerformanceExample() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
30 // This is an example of a performance test case. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
31 measure { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
32 // Put the code you want to measure the time of here. |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
33 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
34 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
35 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
36 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
37 final class CountryGameControllerTests: XCTestCase { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
38 var game: CountryGameController! |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
39 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
40 @MainActor override func setUpWithError() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
41 game = CountryGameController() |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
42 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
43 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
44 @MainActor func testAsk() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
45 for _ in game.data { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
46 game.ask() |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
47 XCTAssertEqual(game.userChoices.count, 3) |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
48 XCTAssertEqual(Set(game.userChoices.keys).count, 3) |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
49 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
50 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
51 XCTAssertEqual(game.dataAsked.count, game.data.count) |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
52 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
53 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
54 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
55 final class CityGameControllerTests: XCTestCase { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
56 var game: CityGameController! |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
57 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
58 @MainActor override func setUpWithError() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
59 game = CityGameController() |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
60 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
61 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
62 @MainActor func testAsk() throws { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
63 for _ in game.data { |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
64 game.ask() |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
65 XCTAssertEqual(game.userChoices.count, 3) |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
66 XCTAssertEqual(Set(game.userChoices.keys).count, 3) |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
67 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
68 |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
69 XCTAssertEqual(game.dataAsked.count, game.data.count) |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
70 } |
6ec51a4ca897
fix crash when asking new questions
Dennis C. M. <dennis@denniscm.com>
parents:
diff
changeset
|
71 } |