46 lines
1.5 KiB
C#
46 lines
1.5 KiB
C#
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|