using System.Collections; using System.Linq; using System.IO; using NUnit.Framework; using TMPro; using UnityEngine; using UnityEngine.TestTools; using UnityEngine.SceneManagement; public class GameEndedPanelTests { [UnitySetUp] public IEnumerator SetupFunction() { string path = $"{Application.persistentDataPath}/unit_test_users.json"; var oneUser = "{\"currentUserIndex\": 0,\"storedUsers\": [{\"username\": \"TEST\",\"avatar\": {\"instanceID\": 40848},\"playtime\": 0.0,\"courses\": [],\"minigames\": []}]}"; using (StreamWriter writer = new StreamWriter(path)) { writer.Write(oneUser); } SystemController.GetInstance().LoadNextScene("SpellingBee/Scenes/SpellingBeeGame"); yield return new WaitForSeconds(0.2f); } [UnityTest] public IEnumerator ScoreTest() { SpellingBeeController spellingBeeController = (SpellingBeeController)GameObject.FindObjectOfType(typeof(SpellingBeeController)); spellingBeeController.NextWord(); spellingBeeController.NextLetter(false); spellingBeeController.NextLetter(true); spellingBeeController.NextLetter(false); yield return new WaitForSeconds(1f); spellingBeeController.ActivateWin(); GameEndedPanel gameEndedPanel = (GameEndedPanel)GameObject.FindObjectOfType(typeof(GameEndedPanel)); Assert.NotNull(gameEndedPanel); Assert.AreEqual("Score: 6", gameEndedPanel.scoreText.text); Assert.AreEqual("1", gameEndedPanel.lettersRightText.text); Assert.AreEqual("2", gameEndedPanel.lettersWrongText.text); Assert.AreEqual("3", gameEndedPanel.lettersTotalText.text); Assert.AreEqual("00:01", gameEndedPanel.timeText.text); } }