< Summary

Class:Tests.TransformTests
Assembly:TransformTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/Transform/Tests/TransformTests.cs
Covered lines:62
Uncovered lines:0
Coverable lines:62
Total lines:133
Line coverage:100% (62 of 62)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
TransformUpdate()0%110100%
TransformationsAreKeptRelativeAfterParenting()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/Transform/Tests/TransformTests.cs

#LineLine coverage
 1using DCL.Components;
 2using DCL.Helpers;
 3using DCL.Models;
 4using NUnit.Framework;
 5using UnityEngine;
 6
 7namespace Tests
 8{
 9    public class TransformTests : IntegrationTestSuite_Legacy
 10    {
 11        [Test]
 12        public void TransformUpdate()
 13        {
 114            IDCLEntity entity = TestHelpers.CreateSceneEntity(scene);
 15
 116            Assert.IsTrue(entity != null);
 17
 18            {
 119                Vector3 originalTransformPosition = entity.gameObject.transform.position;
 120                Quaternion originalTransformRotation = entity.gameObject.transform.rotation;
 121                Vector3 originalTransformScale = entity.gameObject.transform.localScale;
 22
 123                Vector3 position = new Vector3(5, 1, 5);
 124                Quaternion rotationQuaternion = Quaternion.Euler(10, 50, -90);
 125                Vector3 scale = new Vector3(0.7f, 0.7f, 0.7f);
 26
 127                var transformModel = new DCLTransform.Model { position = position, rotation = rotationQuaternion, scale 
 28
 129                TestHelpers.SetEntityTransform(scene, entity, transformModel);
 30
 131                Assert.AreNotEqual(originalTransformPosition, entity.gameObject.transform.position);
 132                Assert.AreEqual(position, entity.gameObject.transform.position);
 33
 134                Assert.AreNotEqual(originalTransformRotation, entity.gameObject.transform.rotation);
 135                Assert.AreEqual(rotationQuaternion.ToString(), entity.gameObject.transform.rotation.ToString());
 36
 137                Assert.AreNotEqual(originalTransformScale, entity.gameObject.transform.localScale);
 138                Assert.AreEqual(scale, entity.gameObject.transform.localScale);
 39            }
 40
 41            {
 142                Vector3 originalTransformPosition = entity.gameObject.transform.position;
 143                Quaternion originalTransformRotation = entity.gameObject.transform.rotation;
 144                Vector3 originalTransformScale = entity.gameObject.transform.localScale;
 45
 146                Vector3 position = new Vector3(51, 13, 52);
 147                Quaternion rotationQuaternion = Quaternion.Euler(101, 51, -91);
 148                Vector3 scale = new Vector3(1.7f, 3.7f, -0.7f);
 49
 150                var transformModel = new DCLTransform.Model { position = position, rotation = rotationQuaternion, scale 
 51
 152                TestHelpers.SetEntityTransform(scene, entity, transformModel);
 53
 154                Assert.AreNotEqual(originalTransformPosition, entity.gameObject.transform.position);
 155                Assert.AreEqual(position, entity.gameObject.transform.position);
 56
 157                Assert.AreNotEqual(originalTransformRotation, entity.gameObject.transform.rotation);
 158                Assert.AreEqual(rotationQuaternion.ToString(), entity.gameObject.transform.rotation.ToString());
 59
 160                Assert.AreNotEqual(originalTransformScale, entity.gameObject.transform.localScale);
 161                Assert.AreEqual(scale, entity.gameObject.transform.localScale);
 62            }
 63
 64            {
 165                Vector3 originalTransformPosition = entity.gameObject.transform.position;
 166                Quaternion originalTransformRotation = entity.gameObject.transform.rotation;
 167                Vector3 originalTransformScale = entity.gameObject.transform.localScale;
 68
 169                Vector3 position = new Vector3(0, 0, 0);
 170                Quaternion rotationQuaternion = Quaternion.Euler(0, 0, 0);
 171                Vector3 scale = new Vector3(1, 1, 1);
 72
 173                var transformModel = new DCLTransform.Model { position = position, rotation = rotationQuaternion, scale 
 74
 175                TestHelpers.SetEntityTransform(scene, entity, transformModel);
 76
 177                Assert.AreNotEqual(originalTransformPosition, entity.gameObject.transform.position);
 178                Assert.AreEqual(position, entity.gameObject.transform.position);
 79
 180                Assert.AreNotEqual(originalTransformRotation, entity.gameObject.transform.rotation);
 181                Assert.AreEqual(rotationQuaternion.ToString(), entity.gameObject.transform.rotation.ToString());
 82
 183                Assert.AreNotEqual(originalTransformScale, entity.gameObject.transform.localScale);
 184                Assert.AreEqual(scale, entity.gameObject.transform.localScale);
 85            }
 186        }
 87
 88        [Test]
 89        public void TransformationsAreKeptRelativeAfterParenting()
 90        {
 191            IDCLEntity entity = TestHelpers.CreateSceneEntity(scene);
 92
 193            Vector3 targetPosition = new Vector3(3f, 7f, 1f);
 194            Quaternion targetRotation = new Quaternion(4f, 9f, 1f, 7f);
 195            Vector3 targetScale = new Vector3(5f, 0.7f, 2f);
 96
 97            // 1. Create component with non-default configs
 198            DCLTransform.Model componentModel = new DCLTransform.Model
 99            {
 100                position = targetPosition,
 101                rotation = targetRotation,
 102                scale = targetScale
 103            };
 104
 1105            TestHelpers.SetEntityTransform(scene, entity, componentModel);
 106
 107            // 2. Check configured values
 1108            Assert.IsTrue(targetPosition == entity.gameObject.transform.localPosition);
 1109            Assert.IsTrue(targetRotation == entity.gameObject.transform.localRotation);
 1110            Assert.IsTrue(targetScale == entity.gameObject.transform.localScale);
 111
 112            // 3. Create new parent entity
 1113            IDCLEntity entity2 = TestHelpers.CreateSceneEntity(scene);
 114
 1115            componentModel = new DCLTransform.Model
 116            {
 117                position = new Vector3(15f, 56f, 0f),
 118                rotation = new Quaternion(1f, 3f, 5f, 15f),
 119                scale = new Vector3(2f, 3f, 5f)
 120            };
 121
 1122            TestHelpers.SetEntityTransform(scene, entity2, componentModel);
 123
 124            // 4. set new parent
 1125            TestHelpers.SetEntityParent(scene, entity.entityId, entity2.entityId);
 126
 127            // 5. check transform values remains the same
 1128            Assert.IsTrue(targetPosition == entity.gameObject.transform.localPosition);
 1129            Assert.IsTrue(targetRotation == entity.gameObject.transform.localRotation);
 1130            Assert.IsTrue(targetScale == entity.gameObject.transform.localScale);
 1131        }
 132    }
 133}