< Summary

Class:CameraController_Test.CameraControllerShould
Assembly:CameraTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Camera/Tests/CameraTests.cs
Covered lines:21
Uncovered lines:1
Coverable lines:22
Total lines:73
Line coverage:95.4% (21 of 22)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ReactToCameraChangeAction()0%110100%
LiveCameraIsOn(...)0%110100%
ReactToSetRotation(...)0%110100%
ActivateAndDeactivateWithKernelRenderingToggleEvents()0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Camera/Tests/CameraTests.cs

#LineLine coverage
 1using Newtonsoft.Json;
 2using NUnit.Framework;
 3using System.Collections;
 4using UnityEngine;
 5using UnityEngine.TestTools;
 6
 7namespace CameraController_Test
 8{
 9    public class CameraControllerShould : IntegrationTestSuite_Legacy
 10    {
 011        protected override bool enableSceneIntegrityChecker => false;
 12
 13        [Test]
 14        public void ReactToCameraChangeAction()
 15        {
 116            var currentCamera = CommonScriptableObjects.cameraMode.Get();
 117            cameraController.cameraChangeAction.RaiseOnTriggered();
 18
 119            Assert.AreNotEqual(currentCamera, CommonScriptableObjects.cameraMode.Get());
 120        }
 21
 22        [Test]
 23        [TestCase(CameraMode.ModeId.FirstPerson)]
 24        [TestCase(CameraMode.ModeId.ThirdPerson)]
 25        public void LiveCameraIsOn(CameraMode.ModeId cameraMode)
 26        {
 227            cameraController.SetCameraMode(cameraMode);
 228            Assert.IsTrue(cameraController.currentCameraState.defaultVirtualCamera.gameObject.activeInHierarchy);
 229        }
 30
 31        [Test]
 32        [TestCase(1, 0, 0)]
 33        [TestCase(0, 0, 1)]
 34        [TestCase(1, 0, 1)]
 35        [TestCase(-1, 0, 0)]
 36        [TestCase(0, 0, -1)]
 37        [TestCase(-1, 0, -1)]
 38        public void ReactToSetRotation(float lookAtX, float lookAtY, float lookAtZ)
 39        {
 640            var payload = new DCL.Camera.CameraController.SetRotationPayload()
 41            {
 42                x = 0,
 43                y = 0,
 44                z = 0,
 45                cameraTarget = new Vector3(lookAtX, lookAtY, lookAtZ)
 46            };
 47
 648            var rotationEuler = Quaternion.LookRotation(payload.cameraTarget.Value).eulerAngles;
 49
 650            cameraController.SetRotation(JsonConvert.SerializeObject(payload, Formatting.None, new JsonSerializerSetting
 51            {
 52                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
 53            }));
 54
 655            Assert.AreEqual(cameraController.GetRotation().y, rotationEuler.y);
 656            Assert.AreEqual(cameraController.GetRotation().x, rotationEuler.x);
 657        }
 58
 59        [UnityTest]
 60        public IEnumerator ActivateAndDeactivateWithKernelRenderingToggleEvents()
 61        {
 162            RenderingController renderingController = GameObject.FindObjectOfType<RenderingController>();
 163            renderingController.DeactivateRendering();
 164            Assert.IsFalse(cameraController.camera.enabled);
 65
 166            yield return null;
 67
 168            renderingController.renderingActivatedAckLock.RemoveAllLocks();
 169            renderingController.ActivateRendering();
 170            Assert.IsTrue(cameraController.camera.enabled);
 171        }
 72    }
 73}