using NUnit.Framework; using System.Collections; using System.IO; using UnityEditor; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.TestTools; public class MainMenuScreenTests { [UnitySetUp] public IEnumerator SetupFunction() { string path = $"{Application.persistentDataPath}/unit_test_users.json"; string oneUser = $"{{\"version\":{PersistentDataController.VERSION},\"users\":[{{\"entries\":[],\"username\":\"TEST\",\"avatarIndex\":0,\"playtime\":0.0,\"minigames\":[],\"courses\":[]}}],\"currentUser\":0,\"currentMinigame\":0,\"currentCourse\":0,\"currentTheme\":0}}"; File.WriteAllText(path, oneUser); PersistentDataController.PATH = path; PersistentDataController.GetInstance().Load(); AssetDatabase.LoadAssetAtPath("Assets/Accounts/ScriptableObjects/UserAvatarList.asset").Awake(); SceneManager.LoadScene("Common/Scenes/MainMenuScreen"); yield return new WaitForSeconds(0.2f); } [UnityTest] public IEnumerator GotoCoursesTest() { var mainMenuScreen = (MainMenuScreen)GameObject.FindObjectOfType(typeof(MainMenuScreen)); mainMenuScreen.GotoCourses(); yield return new WaitForSeconds(0.2f); var courseMenuScreen = (CourseMenuScreen)GameObject.FindObjectOfType(typeof(CourseMenuScreen)); Assert.IsNotNull(courseMenuScreen); } [UnityTest] public IEnumerator GotoMiniGamesTest() { var mainMenuScreen = (MainMenuScreen)GameObject.FindObjectOfType(typeof(MainMenuScreen)); mainMenuScreen.GotoMinigames(); yield return new WaitForSeconds(0.2f); var listMinigamesScreen = (ListMinigamesScreen)GameObject.FindObjectOfType(typeof(ListMinigamesScreen)); Assert.IsNotNull(listMinigamesScreen); } /* [UnityTest] public IEnumerator GotoSettingsTest() { Arrange SceneManager.LoadScene("Common/Scenes/MainMenuScreen"); yield return new WaitForSeconds(1f); var mainMenuScreen = (MainMenuScreen)GameObject.FindObjectOfType(typeof(MainMenuScreen)); mainMenuScreen.GotoSettings(); yield return new WaitForSeconds(1f); var minigameActivityScreen = (MinigameActivityScreen)GameObject.FindObjectOfType(typeof(MinigameActivityScreen)); Assert.IsNotNull(minigameActivityScreen); }*/ }