CameraTests.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using UnityEngine;
  2. using UnityEngine.TestTools;
  3. using NUnit.Framework;
  4. using System.Collections;
  5. using UnityEngine.SceneManagement;
  6. using UnityEditor;
  7. using UnityEditor.SceneManagement;
  8. public class CameraTests
  9. {
  10. GameObject cameraPrefab;
  11. string asteroidsScenePath;
  12. LoadSceneParameters loadSceneParameters;
  13. [SetUp]
  14. public void Setup()
  15. {
  16. GameManager.InitializeTestingEnvironment(true, true, true, false, false);
  17. loadSceneParameters = new LoadSceneParameters(LoadSceneMode.Single, LocalPhysicsMode.None);
  18. Object asteroidsScene = ((GameObject)Resources.Load("TestsReferences")).GetComponent<TestsReferences>().asteroidsScene;
  19. asteroidsScenePath = AssetDatabase.GetAssetPath(asteroidsScene);
  20. cameraPrefab = ((GameObject)Resources.Load("TestsReferences", typeof(GameObject))).GetComponent<TestsReferences>().cameraPrefab;
  21. }
  22. [Test]
  23. public void _01_CameraPrefabExists()
  24. {
  25. Assert.NotNull(cameraPrefab);
  26. }
  27. [Test]
  28. public void _02_CameraPrefabHasRequiredComponents()
  29. {
  30. Assert.IsTrue(cameraPrefab.GetComponent<Camera>().clearFlags == CameraClearFlags.Skybox);
  31. Assert.IsTrue(cameraPrefab.GetComponent<Camera>().orthographic);
  32. }
  33. [UnityTest]
  34. public IEnumerator _03_CameraExistsInScene()
  35. {
  36. EditorSceneManager.LoadSceneInPlayMode(asteroidsScenePath, loadSceneParameters);
  37. yield return null;
  38. Assert.IsTrue(Object.FindObjectOfType<Camera>().name == "Camera");
  39. }
  40. }