< Summary

Class:Tests.BuildModeHUDViews.InspectorViewShould
Assembly:BuildModeHUDTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/BuildModeHUD/Tests/InspectorViewShould.cs
Covered lines:78
Uncovered lines:0
Coverable lines:78
Total lines:164
Line coverage:100% (78 of 78)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%110100%
TearDown()0%110100%
InvokeEntityActionCorrectly()0%110100%
RenameEntityCorrectly()0%110100%
SetActiveCorrectly(...)0%110100%
SetEntitiesListCorrectly()0%220100%
ClearEntitiesListCorrectly()0%110100%
SetCloseButtonsActionCorrectly()0%110100%
ConfigureSceneLimitsCorrectly()0%110100%

File(s)

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

#LineLine coverage
 1using NSubstitute;
 2using NUnit.Framework;
 3using System.Collections.Generic;
 4using UnityEngine;
 5
 6namespace Tests.BuildModeHUDViews
 7{
 8    public class InspectorViewShould
 9    {
 10        private InspectorView inspectorView;
 11
 12        [SetUp]
 1613        public void SetUp() { inspectorView = InspectorView.Create(); }
 14
 15        [TearDown]
 1616        public void TearDown() { Object.Destroy(inspectorView.gameObject); }
 17
 18        [Test]
 19        public void InvokeEntityActionCorrectly()
 20        {
 21            // Arrange
 122            DCLBuilderInWorldEntity testEntity = new GameObject("_DCLBuilderInWorldEntity").AddComponent<DCLBuilderInWor
 123            testEntity.entityUniqueId = "testId";
 124            EntityListAdapter testEntityListAdapter = new GameObject("_EntityListAdapter").AddComponent<EntityListAdapte
 125            testEntity.entityUniqueId = "testId";
 126            EntityAction testEntityAction = EntityAction.SHOW;
 127            DCLBuilderInWorldEntity returnedEntity = null;
 128            EntityListAdapter returnedEntityListAdapter = null;
 129            EntityAction retournedEntityAction = EntityAction.DELETE;
 130            inspectorView.OnEntityActionInvoked += (action, entityToApply, adapter) =>
 31            {
 132                retournedEntityAction = action;
 133                returnedEntity = entityToApply;
 134                returnedEntityListAdapter = adapter;
 135            };
 36
 37            // Act
 138            inspectorView.EntityActionInvoked(testEntityAction, testEntity, testEntityListAdapter);
 39
 40            // Assert
 141            Assert.AreEqual(testEntity.entityUniqueId, returnedEntity.entityUniqueId, "The entity does not match!!");
 142            Assert.AreEqual(testEntityListAdapter, returnedEntityListAdapter, "The entity list adapter does not match!!"
 143            Assert.AreEqual(testEntityAction, retournedEntityAction, "The entity action does not match!!");
 144        }
 45
 46        [Test]
 47        public void RenameEntityCorrectly()
 48        {
 49            // Arrange
 150            DCLBuilderInWorldEntity testEntity = new GameObject("_DCLBuilderInWorldEntity").AddComponent<DCLBuilderInWor
 151            testEntity.entityUniqueId = "testId";
 152            string testText = "Test text";
 153            DCLBuilderInWorldEntity retournedEntity = null;
 154            string retournedText = "";
 155            inspectorView.OnEntityRename += (entity, newName) =>
 56            {
 157                retournedEntity = entity;
 158                retournedText = newName;
 159            };
 60
 61            // Act
 162            inspectorView.EntityRename(testEntity, testText);
 63
 64            // Assert
 165            Assert.AreEqual(testEntity.entityUniqueId, retournedEntity.entityUniqueId, "The entity does not match!!");
 166            Assert.AreEqual(testText, retournedText, "The text does not match!!");
 167        }
 68
 69        [Test]
 70        [TestCase(true)]
 71        [TestCase(false)]
 72        public void SetActiveCorrectly(bool isActive)
 73        {
 74            // Arrange
 275            inspectorView.gameObject.SetActive(!isActive);
 76
 77            // Act
 278            inspectorView.SetActive(isActive);
 79
 80            // Assert
 281            Assert.AreEqual(isActive, inspectorView.gameObject.activeSelf, "The game object activation property does not
 282        }
 83
 84        [Test]
 85        public void SetEntitiesListCorrectly()
 86        {
 87            // Arrange
 188            List<DCLBuilderInWorldEntity> testList = new List<DCLBuilderInWorldEntity>();
 189            DCLBuilderInWorldEntity testEntity1 = new GameObject("_DCLBuilderInWorldEntity1").AddComponent<DCLBuilderInW
 190            testEntity1.entityUniqueId = "testId1";
 191            DCLBuilderInWorldEntity testEntity2 = new GameObject("_DCLBuilderInWorldEntity2").AddComponent<DCLBuilderInW
 192            testEntity1.entityUniqueId = "testId2";
 193            DCLBuilderInWorldEntity testEntity3 = new GameObject("_DCLBuilderInWorldEntity3").AddComponent<DCLBuilderInW
 194            testEntity1.entityUniqueId = "testId3";
 195            testList.Add(testEntity1);
 196            testList.Add(testEntity2);
 197            testList.Add(testEntity3);
 198            inspectorView.entitiesList = new List<DCLBuilderInWorldEntity>();
 99
 100            // Act
 1101            inspectorView.SetEntitiesList(testList);
 102
 103            // Assert
 1104            Assert.AreEqual(3, inspectorView.entitiesList.Count, "The number of set entities does not match!");
 8105            for (int i = 0; i < 3; i++)
 106            {
 3107                Assert.AreEqual(testList[i].entityUniqueId, inspectorView.entitiesList[i].entityUniqueId, "The added ent
 108            }
 1109        }
 110
 111        [Test]
 112        public void ClearEntitiesListCorrectly()
 113        {
 114            // Arrange
 1115            List<DCLBuilderInWorldEntity> testList = new List<DCLBuilderInWorldEntity>();
 1116            DCLBuilderInWorldEntity testEntity1 = new GameObject("_DCLBuilderInWorldEntity1").AddComponent<DCLBuilderInW
 1117            testEntity1.entityUniqueId = "testId1";
 1118            DCLBuilderInWorldEntity testEntity2 = new GameObject("_DCLBuilderInWorldEntity2").AddComponent<DCLBuilderInW
 1119            testEntity1.entityUniqueId = "testId2";
 1120            DCLBuilderInWorldEntity testEntity3 = new GameObject("_DCLBuilderInWorldEntity3").AddComponent<DCLBuilderInW
 1121            testEntity1.entityUniqueId = "testId3";
 1122            testList.Add(testEntity1);
 1123            testList.Add(testEntity2);
 1124            testList.Add(testEntity3);
 1125            inspectorView.entitiesList = testList;
 126
 127            // Act
 1128            inspectorView.ClearEntitiesList();
 129
 130            // Assert
 1131            Assert.AreEqual(0, inspectorView.entitiesList.Count, "The number of set entities does not match!");
 1132        }
 133
 134        [Test]
 135        public void SetCloseButtonsActionCorrectly()
 136        {
 137            // Arrange
 1138            bool actionsCalled = false;
 139
 140            // Act
 3141            inspectorView.SetCloseButtonsAction(() => { actionsCalled = true; });
 1142            inspectorView.closeEntityListBtn.onClick.Invoke();
 143
 144            // Assert
 1145            Assert.IsTrue(actionsCalled, "");
 1146        }
 147
 148        [Test]
 149        public void ConfigureSceneLimitsCorrectly()
 150        {
 151            // Arrange
 1152            ISceneLimitsController mockedSceneLimitsController = Substitute.For<ISceneLimitsController>();
 1153            inspectorView.sceneLimitsController = null;
 154
 155
 156            // Act
 1157            inspectorView.ConfigureSceneLimits(mockedSceneLimitsController);
 158
 159            // Assert
 1160            Assert.AreEqual(mockedSceneLimitsController, inspectorView.sceneLimitsController, "The scene limits controll
 1161            mockedSceneLimitsController.Received(1).Initialize(inspectorView.sceneLimitsView);
 1162        }
 163    }
 164}