WuhuIslandTesting/Library/PackageCache/com.unity.testtools.codecoverage@1.2.2/Samples~/Tutorial/Asteroids/Tests/CameraTests.cs
2025-01-07 02:06:59 +01:00

50 lines
1.5 KiB
C#

using UnityEngine;
using UnityEngine.TestTools;
using NUnit.Framework;
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEditor;
using UnityEditor.SceneManagement;
public class CameraTests
{
GameObject cameraPrefab;
string asteroidsScenePath;
LoadSceneParameters loadSceneParameters;
[SetUp]
public void Setup()
{
GameManager.InitializeTestingEnvironment(true, true, true, false, false);
loadSceneParameters = new LoadSceneParameters(LoadSceneMode.Single, LocalPhysicsMode.None);
Object asteroidsScene = ((GameObject)Resources.Load("TestsReferences")).GetComponent<TestsReferences>().asteroidsScene;
asteroidsScenePath = AssetDatabase.GetAssetPath(asteroidsScene);
cameraPrefab = ((GameObject)Resources.Load("TestsReferences", typeof(GameObject))).GetComponent<TestsReferences>().cameraPrefab;
}
[Test]
public void _01_CameraPrefabExists()
{
Assert.NotNull(cameraPrefab);
}
[Test]
public void _02_CameraPrefabHasRequiredComponents()
{
Assert.IsTrue(cameraPrefab.GetComponent<Camera>().clearFlags == CameraClearFlags.Skybox);
Assert.IsTrue(cameraPrefab.GetComponent<Camera>().orthographic);
}
[UnityTest]
public IEnumerator _03_CameraExistsInScene()
{
EditorSceneManager.LoadSceneInPlayMode(asteroidsScenePath, loadSceneParameters);
yield return null;
Assert.IsTrue(Object.FindObjectOfType<Camera>().name == "Camera");
}
}