46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
|
|
using System.Collections;
|
||
|
|
using UnityEngine.Assertions;
|
||
|
|
using UnityEngine.SceneManagement;
|
||
|
|
using UnityEngine.TestTools;
|
||
|
|
|
||
|
|
namespace BracerLib.Tests.Scenes
|
||
|
|
{
|
||
|
|
public class SceneTests : TestBase
|
||
|
|
{
|
||
|
|
private Scene oneTimeScene;
|
||
|
|
private Scene testScene;
|
||
|
|
|
||
|
|
[UnityTest]
|
||
|
|
public IEnumerator CloseSceneWithZeroScenesRegistered()
|
||
|
|
{
|
||
|
|
var sceneCount = SceneManager.loadedSceneCount;
|
||
|
|
Assert.IsTrue(sceneCount > 0);
|
||
|
|
|
||
|
|
yield return CloseLatestScene();
|
||
|
|
|
||
|
|
Assert.IsTrue(SceneManager.loadedSceneCount == sceneCount);
|
||
|
|
}
|
||
|
|
|
||
|
|
[UnityTest]
|
||
|
|
public IEnumerator CreateScenesWithSpecificLifetimes()
|
||
|
|
{
|
||
|
|
yield return OpenScene("Scenes/Tests/Test_Empty", true);
|
||
|
|
oneTimeScene = SceneManager.GetSceneAt(SceneManager.loadedSceneCount - 1);
|
||
|
|
Assert.IsTrue(oneTimeScene.isLoaded);
|
||
|
|
|
||
|
|
yield return OpenScene("Scenes/Tests/Test_Empty");
|
||
|
|
testScene = SceneManager.GetSceneAt(SceneManager.loadedSceneCount - 1);
|
||
|
|
Assert.IsTrue(testScene.isLoaded);
|
||
|
|
}
|
||
|
|
|
||
|
|
[UnityTest]
|
||
|
|
public IEnumerator TestSceneLifetimes()
|
||
|
|
{
|
||
|
|
yield return null;
|
||
|
|
|
||
|
|
Assert.IsTrue(oneTimeScene.isLoaded);
|
||
|
|
Assert.IsFalse(testScene.isLoaded);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|