From ac7a9c56dde0c25f33926cd4bb78655c0b1bdbdb Mon Sep 17 00:00:00 2001
From: Sofiane Lasri <alasri250@gmail.com>
Date: Tue, 23 May 2023 16:06:49 +0200
Subject: [PATCH] Correction des tests.

---
 Pendu.xcodeproj/project.pbxproj |  8 ++++++++
 Pendu/GameEngineMock.swift      | 19 +++++++++++++++++++
 Pendu/GameEngineTests.swift     | 10 +++++++++-
 3 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 Pendu/GameEngineMock.swift

diff --git a/Pendu.xcodeproj/project.pbxproj b/Pendu.xcodeproj/project.pbxproj
index 20de114..f6eb00e 100644
--- a/Pendu.xcodeproj/project.pbxproj
+++ b/Pendu.xcodeproj/project.pbxproj
@@ -7,6 +7,8 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		BF1D4A112A1CF23B002F97CB /* GameEngineMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5A7EC82A13BF8A00168B16 /* GameEngineMock.swift */; };
+		BF1D4A122A1CF36D002F97CB /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C480D2A0A1FCA00CE128F /* AppDelegate.swift */; };
 		BF3C480E2A0A1FCA00CE128F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C480D2A0A1FCA00CE128F /* AppDelegate.swift */; };
 		BF3C48102A0A1FCA00CE128F /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C480F2A0A1FCA00CE128F /* SceneDelegate.swift */; };
 		BF3C48122A0A1FCA00CE128F /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C48112A0A1FCA00CE128F /* ViewController.swift */; };
@@ -18,6 +20,7 @@
 		BF3C48322A0A1FCD00CE128F /* PenduUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C48312A0A1FCD00CE128F /* PenduUITests.swift */; };
 		BF3C48342A0A1FCD00CE128F /* PenduUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C48332A0A1FCD00CE128F /* PenduUITestsLaunchTests.swift */; };
 		BF3C48432A0A3CFF00CE128F /* GameEngineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C48422A0A3CFF00CE128F /* GameEngineTests.swift */; };
+		BF7F866E2A1CF44B0063A152 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3C480D2A0A1FCA00CE128F /* AppDelegate.swift */; };
 		D082CCC92A0A33D600D97981 /* GameEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = D082CCC82A0A33D600D97981 /* GameEngine.swift */; };
 		D082CCCA2A0A33D600D97981 /* GameEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = D082CCC82A0A33D600D97981 /* GameEngine.swift */; };
 		D082CCCB2A0A33D600D97981 /* GameEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = D082CCC82A0A33D600D97981 /* GameEngine.swift */; };
@@ -56,6 +59,7 @@
 		BF3C48312A0A1FCD00CE128F /* PenduUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenduUITests.swift; sourceTree = "<group>"; };
 		BF3C48332A0A1FCD00CE128F /* PenduUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenduUITestsLaunchTests.swift; sourceTree = "<group>"; };
 		BF3C48422A0A3CFF00CE128F /* GameEngineTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameEngineTests.swift; sourceTree = "<group>"; };
+		BF5A7EC82A13BF8A00168B16 /* GameEngineMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameEngineMock.swift; sourceTree = "<group>"; };
 		D082CCC82A0A33D600D97981 /* GameEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameEngine.swift; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -117,6 +121,7 @@
 				BF3C48162A0A1FCA00CE128F /* Pendu.xcdatamodeld */,
 				D082CCC82A0A33D600D97981 /* GameEngine.swift */,
 				BF3C48422A0A3CFF00CE128F /* GameEngineTests.swift */,
+				BF5A7EC82A13BF8A00168B16 /* GameEngineMock.swift */,
 			);
 			path = Pendu;
 			sourceTree = "<group>";
@@ -282,7 +287,9 @@
 			buildActionMask = 2147483647;
 			files = (
 				BF3C48282A0A1FCD00CE128F /* PenduTests.swift in Sources */,
+				BF1D4A112A1CF23B002F97CB /* GameEngineMock.swift in Sources */,
 				D082CCCA2A0A33D600D97981 /* GameEngine.swift in Sources */,
+				BF1D4A122A1CF36D002F97CB /* AppDelegate.swift in Sources */,
 				BF3C48432A0A3CFF00CE128F /* GameEngineTests.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -291,6 +298,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				BF7F866E2A1CF44B0063A152 /* AppDelegate.swift in Sources */,
 				BF3C48322A0A1FCD00CE128F /* PenduUITests.swift in Sources */,
 				D082CCCB2A0A33D600D97981 /* GameEngine.swift in Sources */,
 				BF3C48342A0A1FCD00CE128F /* PenduUITestsLaunchTests.swift in Sources */,
diff --git a/Pendu/GameEngineMock.swift b/Pendu/GameEngineMock.swift
new file mode 100644
index 0000000..2265205
--- /dev/null
+++ b/Pendu/GameEngineMock.swift
@@ -0,0 +1,19 @@
+//
+//  GameEngineMock.swift
+//  Pendu
+//
+//  Created by Sofiane Lasri-Trienpont on 16/05/2023.
+//
+
+import UIKit
+
+class GameEngineMock: GameEngine {
+    public var wordToGuess : String = "";
+    public var attemptsRemaining : Int = 0;
+    public var guessedLetters : [Character] = [];
+    public var theme : String = "";
+    public var difficulty : String = "";
+    public var playerName : String = "";
+    public var score : Int = 0;
+    public var combo : Int = 0;
+}
diff --git a/Pendu/GameEngineTests.swift b/Pendu/GameEngineTests.swift
index 867a9bd..25fb37a 100644
--- a/Pendu/GameEngineTests.swift
+++ b/Pendu/GameEngineTests.swift
@@ -28,5 +28,13 @@ class GameEngineTests: XCTestCase {
         let mot2 = game.WordToGuess(theme: "Sports", difficulty: "Hard")
         XCTAssertNotEqual(mot1, mot2)
     }
-
+    
+    func testSavingScoreWithMockedEngine() throws {
+        let game:GameEngineMock = GameEngineMock();
+        game.score = 10;
+        game.playerName = "Gordon";
+        game.theme = "Animals";
+        game.difficulty = "Easy";
+        game.saveScore();
+    }
 }
-- 
GitLab