< Summary

Class:Tests.BuildModeHUDViews.EntityInformationViewShould
Assembly:BuildModeHUDTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/BuildModeHUD/Tests/EntityInformationViewShould.cs
Covered lines:108
Uncovered lines:2
Coverable lines:110
Total lines:285
Line coverage:98.1% (108 of 110)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%110100%
TearDown()0%110100%
SetCurrentEntityCorrectly()0%110100%
ToggleDetailsInfoCorrectly(...)0%330100%
ToggleBasicInfoCorrectly(...)0%330100%
StartChangingNameCorrectly()0%110100%
EndChangingNameCorrectly()0%110100%
ChangeEntityNameCorrectly()0%110100%
DisableCorrectly()0%110100%
SetEntityThumbnailEnableCorrectly(...)0%2.022083.33%
SetEntityThumbnailTextureCorrectly()0%2.012085.71%
SeEntityLimitsLeftTextCorrectly()0%110100%
SetSmartItemListViewActiveCorrectly(...)0%110100%
SetNameIFTextCorrectly()0%110100%
SetActiveCorrectly(...)0%110100%
UpdateEntitiesSelectionCorrectly(...)0%330100%
SetTransparencyModeCorrectly(...)0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/BuildModeHUD/Tests/EntityInformationViewShould.cs

#LineLine coverage
 1using NUnit.Framework;
 2using UnityEngine;
 3
 4namespace Tests.BuildModeHUDViews
 5{
 6    public class EntityInformationViewShould
 7    {
 8        private EntityInformationView entityInformationView;
 9
 10        [SetUp]
 4411        public void SetUp() { entityInformationView = EntityInformationView.Create(); }
 12
 13        [TearDown]
 4414        public void TearDown() { Object.Destroy(entityInformationView.gameObject); }
 15
 16        [Test]
 17        public void SetCurrentEntityCorrectly()
 18        {
 19            // Arrange
 120            DCLBuilderInWorldEntity newEntity = new GameObject("_DCLBuilderInWorldEntity").AddComponent<DCLBuilderInWorl
 121            newEntity.entityUniqueId = "testId";
 122            entityInformationView.currentEntity = null;
 23
 24            // Act
 125            entityInformationView.SetCurrentEntity(newEntity);
 26
 27            // Assert
 128            Assert.AreEqual(newEntity.entityUniqueId, entityInformationView.currentEntity.entityUniqueId, "The entity id
 129        }
 30
 31        [Test]
 32        [TestCase(true)]
 33        [TestCase(false)]
 34        public void ToggleDetailsInfoCorrectly(bool isActive)
 35        {
 36            // Arrange
 237            entityInformationView.detailsGO.SetActive(!isActive);
 238            entityInformationView.detailsToggleBtn.sprite = null;
 39
 40            // Act
 241            entityInformationView.ToggleDetailsInfo();
 42
 43            // Assert
 244            Assert.AreEqual(isActive, entityInformationView.detailsGO.activeSelf, "The details game object activation pr
 245            Assert.AreEqual(isActive ? entityInformationView.openMenuSprite : entityInformationView.closeMenuSprite, ent
 246        }
 47
 48        [Test]
 49        [TestCase(true)]
 50        [TestCase(false)]
 51        public void ToggleBasicInfoCorrectly(bool isActive)
 52        {
 53            // Arrange
 254            entityInformationView.basicsGO.SetActive(!isActive);
 255            entityInformationView.basicToggleBtn.sprite = null;
 56
 57            // Act
 258            entityInformationView.ToggleBasicInfo();
 59
 60            // Assert
 261            Assert.AreEqual(isActive, entityInformationView.basicsGO.activeSelf, "The basics game object activation prop
 262            Assert.AreEqual(isActive ? entityInformationView.openMenuSprite : entityInformationView.closeMenuSprite, ent
 263        }
 64
 65        [Test]
 66        public void StartChangingNameCorrectly()
 67        {
 68            // Arrange
 169            bool changingNameStarted = false;
 270            entityInformationView.OnStartChangingName += () => changingNameStarted = true;
 71
 72            // Act
 173            entityInformationView.StartChangingName();
 74
 75            // Assert
 176            Assert.IsTrue(changingNameStarted, "changingNameStarted is false!");
 177        }
 78
 79        [Test]
 80        public void EndChangingNameCorrectly()
 81        {
 82            // Arrange
 183            bool changingNameEndeed = false;
 284            entityInformationView.OnEndChangingName += () => changingNameEndeed = true;
 85
 86            // Act
 187            entityInformationView.EndChangingName();
 88
 89            // Assert
 190            Assert.IsTrue(changingNameEndeed, "changingNameEndeed is false!");
 191        }
 92
 93        [Test]
 94        public void ChangeEntityNameCorrectly()
 95        {
 96            // Arrange
 197            string newEntityName = "Test name";
 198            DCLBuilderInWorldEntity testEntity = new GameObject("_DCLBuilderInWorldEntity").AddComponent<DCLBuilderInWor
 199            testEntity.entityUniqueId = "testId";
 1100            entityInformationView.currentEntity = testEntity;
 101
 1102            DCLBuilderInWorldEntity entity = null;
 1103            string entityName = "";
 1104            entityInformationView.OnNameChange += (changedEntity, name) =>
 105            {
 1106                entity = changedEntity;
 1107                entityName = name;
 1108            };
 109
 110            // Act
 1111            entityInformationView.ChangeEntityName(newEntityName);
 112
 113            // Assert
 1114            Assert.AreEqual(entityInformationView.currentEntity, entity, "The current entity does not mach!");
 1115            Assert.AreEqual(newEntityName, entityName, "The entity name does not match!");
 1116        }
 117
 118        [Test]
 119        public void DisableCorrectly()
 120        {
 121            // Arrange
 1122            bool isDisabled = false;
 2123            entityInformationView.OnDisable += () => isDisabled = true;
 124
 125            // Act
 1126            entityInformationView.Disable();
 127
 128            // Assert
 1129            Assert.IsTrue(isDisabled, "isDisabled is false!");
 1130        }
 131
 132        [Test]
 133        [TestCase(true)]
 134        [TestCase(false)]
 135        public void SetEntityThumbnailEnableCorrectly(bool isEnable)
 136        {
 2137            if (entityInformationView.entitytTumbailImg == null)
 0138                return;
 139
 140            // Arrange
 2141            entityInformationView.entitytTumbailImg.enabled = !isEnable;
 142
 143            // Act
 2144            entityInformationView.SetEntityThumbnailEnable(isEnable);
 145
 146            // Assert
 2147            Assert.AreEqual(isEnable, entityInformationView.entitytTumbailImg.enabled, "Entity Thumbnail enable property
 2148        }
 149
 150        [Test]
 151        public void SetEntityThumbnailTextureCorrectly()
 152        {
 1153            if (entityInformationView.entitytTumbailImg == null)
 0154                return;
 155
 156            // Arrange
 1157            Texture2D newTexture = new Texture2D(2, 2, TextureFormat.ARGB32, false);
 1158            entityInformationView.entitytTumbailImg.texture = null;
 159
 160            // Act
 1161            entityInformationView.SetEntityThumbnailTexture(newTexture);
 162
 163            // Assert
 1164            Assert.AreEqual(newTexture, entityInformationView.entitytTumbailImg.texture, "Entity Thumbnail texture does 
 1165        }
 166
 167        [Test]
 168        public void SeEntityLimitsLeftTextCorrectly()
 169        {
 170            // Arrange
 1171            string newText = "Test text";
 1172            string newText2 = "Test text2";
 1173            string newText3 = "Test text3";
 1174            entityInformationView.entityLimitsTrisTxt.text = "";
 1175            entityInformationView.entityLimitsMaterialsTxt.text = "";
 1176            entityInformationView.entityLimitsTextureTxt.text = "";
 177
 178            // Act
 1179            entityInformationView.SeEntityLimitsText(newText, newText2 , newText3);
 180
 181            // Assert
 1182            Assert.AreEqual(newText, entityInformationView.entityLimitsTrisTxt.text, "The left limits text does not matc
 1183            Assert.AreEqual(newText2, entityInformationView.entityLimitsMaterialsTxt.text, "The left limits text does no
 1184            Assert.AreEqual(newText3, entityInformationView.entityLimitsTextureTxt.text, "The left limits text does not 
 1185        }
 186
 187        [Test]
 188        [TestCase(true)]
 189        [TestCase(false)]
 190        public void SetSmartItemListViewActiveCorrectly(bool isActive)
 191        {
 192            // Arrange
 2193            entityInformationView.smartItemListView.gameObject.SetActive(!isActive);
 194
 195            // Act
 2196            entityInformationView.SetSmartItemListViewActive(isActive);
 197
 198            // Assert
 2199            Assert.AreEqual(isActive, entityInformationView.smartItemListView.gameObject.activeSelf, "The smartItemList 
 2200        }
 201
 202        [Test]
 203        public void SetNameIFTextCorrectly()
 204        {
 205            // Arrange
 1206            string newText = "Test text";
 1207            entityInformationView.nameIF.text = "";
 208
 209            // Act
 1210            entityInformationView.SetNameIFText(newText);
 211
 212            // Assert
 1213            Assert.AreEqual(newText, entityInformationView.nameIF.text, "The nameIF text does not match!");
 1214        }
 215
 216        [Test]
 217        [TestCase(true)]
 218        [TestCase(false)]
 219        public void SetActiveCorrectly(bool isActive)
 220        {
 221            // Arrange
 2222            entityInformationView.gameObject.SetActive(!isActive);
 223
 224            // Act
 2225            entityInformationView.SetActive(isActive);
 226
 227            // Assert
 2228            Assert.AreEqual(isActive, entityInformationView.gameObject.activeSelf, "The active property does not match!"
 2229        }
 230
 231        [Test]
 232        [TestCase(1)]
 233        [TestCase(5)]
 234        public void UpdateEntitiesSelectionCorrectly(int numberOfSelectedEntities)
 235        {
 236            // Arrange
 2237            if (numberOfSelectedEntities > 1)
 238            {
 1239                entityInformationView.individualEntityPanel.SetActive(true);
 1240                entityInformationView.multipleEntitiesPanel.SetActive(false);
 1241                entityInformationView.multipleEntitiesText.text = "";
 1242            }
 243            else
 244            {
 1245                entityInformationView.individualEntityPanel.SetActive(false);
 1246                entityInformationView.multipleEntitiesPanel.SetActive(true);
 247            }
 248
 249            // Act
 2250            entityInformationView.UpdateEntitiesSelection(numberOfSelectedEntities);
 251
 252            // Assert
 2253            if (numberOfSelectedEntities > 1)
 254            {
 1255                Assert.IsFalse(entityInformationView.individualEntityPanel.activeInHierarchy, "The active property does 
 1256                Assert.IsTrue(entityInformationView.multipleEntitiesPanel.activeInHierarchy, "The active property does n
 1257                Assert.IsNotEmpty(entityInformationView.multipleEntitiesText.text, "The multipleEntitiesText text is emp
 1258            }
 259            else
 260            {
 1261                Assert.IsTrue(entityInformationView.individualEntityPanel.activeInHierarchy, "The active property does n
 1262                Assert.IsFalse(entityInformationView.multipleEntitiesPanel.activeInHierarchy, "The active property does 
 263            }
 1264        }
 265
 266        [Test]
 267        [TestCase(0.5f, true)]
 268        [TestCase(0.5f, false)]
 269        public void SetTransparencyModeCorrectly(float alphaValue, bool interactable = true)
 270        {
 271            // Arrange
 2272            entityInformationView.canvasGroup.alpha = 1f;
 2273            entityInformationView.canvasGroup.blocksRaycasts = !interactable;
 2274            entityInformationView.canvasGroup.interactable = !interactable;
 275
 276            // Act
 2277            entityInformationView.SetTransparencyMode(alphaValue, interactable);
 278
 279            // Assert
 2280            Assert.AreEqual(alphaValue, entityInformationView.canvasGroup.alpha);
 2281            Assert.AreEqual(interactable, entityInformationView.canvasGroup.blocksRaycasts);
 2282            Assert.AreEqual(interactable, entityInformationView.canvasGroup.interactable);
 2283        }
 284    }
 285}