ProjectZ/Assets/Mirror/Tests/Runtime/NetworkManagerTests.cs

46 lines
1.5 KiB
C#
Raw Normal View History

2024-02-19 21:00:36 +03:00
using System.Collections;
using NUnit.Framework;
using UnityEngine.SceneManagement;
using UnityEngine.TestTools;
namespace Mirror.Tests.Runtime
{
public class NetworkManagerTests
{
Scene activeScene;
IEnumerator RunIsActiveSceneTest(string sceneToCheck, bool expected)
{
// wait for first frame to make sure scene is loaded
yield return null;
activeScene = SceneManager.GetActiveScene();
bool isActive = NetworkManager.IsSceneActive(sceneToCheck);
Assert.That(isActive, Is.EqualTo(expected));
}
[UnityTest]
public IEnumerator IsActiveSceneWorksWithSceneName()
{
yield return RunIsActiveSceneTest(activeScene.name, true);
yield return RunIsActiveSceneTest("NotActiveScene", false);
}
[UnityTest]
public IEnumerator IsActiveSceneWorksWithScenePath()
{
yield return RunIsActiveSceneTest(activeScene.path, true);
yield return RunIsActiveSceneTest("Assets/Mirror/Tests/Runtime/Scenes/NotActiveScene.unity", false);
}
[UnityTest]
public IEnumerator IsActiveSceneIsFalseForScenesWithSameNameButDifferentPath()
{
yield return RunIsActiveSceneTest($"Another/Path/To/{activeScene.path}", false);
}
[UnityTest]
public IEnumerator IsActiveSceneIsFalseForEmptyString()
{
yield return RunIsActiveSceneTest("", false);
}
}
}