annotate GeoQuizTests/GeoQuizTests.swift @ 34:6ec51a4ca897

fix crash when asking new questions
author Dennis C. M. <dennis@denniscm.com>
date Sat, 12 Nov 2022 14:23:05 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }