Files
BracerLib/Assets/Scripts/Tests/Scenes/SceneTests.cs
T

47 lines
1.3 KiB
C#

using System.Collections;
using BracerLib.Utility.Testing;
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);
}
}
}