79 lines
2.7 KiB
C#
79 lines
2.7 KiB
C#
using System.Collections;
|
|
using System.Linq;
|
|
using System.IO;
|
|
|
|
using NUnit.Framework;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.TestTools;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
|
|
public class GameControllerTests
|
|
{
|
|
|
|
[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/Game");
|
|
yield return new WaitForSeconds(0.2f);
|
|
}
|
|
|
|
[UnityTest]
|
|
public IEnumerator CheckScoreTest()
|
|
{
|
|
GameController gameController = (GameController)GameObject.FindObjectOfType(typeof(GameController));
|
|
yield return new WaitForSeconds(0.2f);
|
|
Assert.AreEqual(0, gameController.CalculateScore());
|
|
gameController.NextWord();
|
|
Assert.AreEqual(5, gameController.CalculateScore());
|
|
gameController.NextLetter(true);
|
|
Assert.AreEqual(6, gameController.CalculateScore());
|
|
}
|
|
|
|
[UnityTest]
|
|
public IEnumerator ActivateGameOverTest()
|
|
{
|
|
GameController gameController = (GameController)GameObject.FindObjectOfType(typeof(GameController));
|
|
gameController.ActivateGameOver();
|
|
|
|
yield return new WaitForSeconds(0.2f);
|
|
GameEndedPanel gameEndedPanel = (GameEndedPanel)GameObject.FindObjectOfType(typeof(GameEndedPanel));
|
|
Assert.NotNull(gameEndedPanel);
|
|
Assert.AreEqual("VERLOREN", gameEndedPanel.endText.text);
|
|
|
|
}
|
|
|
|
[UnityTest]
|
|
public IEnumerator ActivateWinTests()
|
|
{
|
|
GameController gameController = (GameController)GameObject.FindObjectOfType(typeof(GameController));
|
|
gameController.ActivateWin();
|
|
|
|
yield return new WaitForSeconds(0.2f);
|
|
GameEndedPanel gameEndedPanel = (GameEndedPanel)GameObject.FindObjectOfType(typeof(GameEndedPanel));
|
|
Assert.NotNull(gameEndedPanel);
|
|
Assert.AreEqual("GEWONNEN", gameEndedPanel.endText.text);
|
|
}
|
|
|
|
[UnityTest]
|
|
public IEnumerator CheckGameOverTest()
|
|
{
|
|
GameController gameController = (GameController)GameObject.FindObjectOfType(typeof(GameController));
|
|
gameController.AddSeconds(-60);
|
|
|
|
yield return new WaitForSeconds(0.1f);
|
|
GameEndedPanel gameEndedPanel = (GameEndedPanel)GameObject.FindObjectOfType(typeof(GameEndedPanel));
|
|
Assert.NotNull(gameEndedPanel);
|
|
Assert.AreEqual("VERLOREN", gameEndedPanel.endText.text);
|
|
}
|
|
}
|