< Summary

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%110100%
TearDown()0%110100%
InitializeCorrectly()0%110100%
SetPublishBtnAvailabilityCorrectly(...)0%110100%
RefreshCatalogAssetPackCorrectly()0%110100%
RefreshCatalogContentCorrectly()0%110100%
SetVisibilityOfCatalogCorrectly(...)0%220100%
SetVisibilityOfSceneInfoCorrectly(...)0%220100%
SetVisibilityOfControlsCorrectly(...)0%110100%
SetVisibilityOfExtraBtnsCorrectly(...)0%110100%
SetFirstPersonViewCorrectly()0%110100%
HideToolTipCorrectly()0%110100%
SetActiveCorrectly(...)0%110100%
SetVisibilityOfInspectorCorrectly(...)0%220100%

File(s)

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

#LineLine coverage
 1using NSubstitute;
 2using NUnit.Framework;
 3using UnityEngine;
 4
 5namespace Tests.BuildModeHUDViews
 6{
 7    public class BuildModeHUDViewShould
 8    {
 9        private BuildModeHUDView buildModeHUDView;
 10        private BuildModeHUDInitializationModel testControllers;
 11
 12        [SetUp]
 13        public void SetUp()
 14        {
 1915            testControllers = new BuildModeHUDInitializationModel
 16            {
 17                tooltipController = Substitute.For<ITooltipController>(),
 18                feedbackTooltipController = Substitute.For<ITooltipController>(),
 19                sceneCatalogController = Substitute.For<ISceneCatalogController>(),
 20                quickBarController = Substitute.For<IQuickBarController>(),
 21                entityInformationController = Substitute.For<IEntityInformationController>(),
 22                firstPersonModeController = Substitute.For<IFirstPersonModeController>(),
 23                shortcutsController = Substitute.For<IShortcutsController>(),
 24                publishPopupController = Substitute.For<IPublishPopupController>(),
 25                dragAndDropSceneObjectController = Substitute.For<IDragAndDropSceneObjectController>(),
 26                publishBtnController = Substitute.For<IPublishBtnController>(),
 27                inspectorBtnController = Substitute.For<IInspectorBtnController>(),
 28                catalogBtnController = Substitute.For<ICatalogBtnController>(),
 29                inspectorController = Substitute.For<IInspectorController>(),
 30                buildModeConfirmationModalController = Substitute.For<IBuildModeConfirmationModalController>(),
 31                topActionsButtonsController = Substitute.For<ITopActionsButtonsController>(),
 32                saveHUDController =  Substitute.For<ISaveHUDController>(),
 33                newProjectDetailsController = Substitute.For<IPublicationDetailsController>(),
 34                publicationDetailsController = Substitute.For<IPublicationDetailsController>()
 35            };
 36
 1937            buildModeHUDView = BuildModeHUDView.Create();
 1938            buildModeHUDView.Initialize(testControllers);
 1939        }
 40
 41        [TearDown]
 3842        public void TearDown() { Object.Destroy(buildModeHUDView.gameObject); }
 43
 44        [Test]
 45        public void InitializeCorrectly()
 46        {
 47            // Assert
 148            Assert.AreEqual(testControllers.tooltipController, buildModeHUDView.controllers.tooltipController, "The tool
 149            testControllers.tooltipController.Received(1).Initialize(buildModeHUDView.tooltipView);
 150            Assert.AreEqual(testControllers.sceneCatalogController, buildModeHUDView.controllers.sceneCatalogController,
 151            testControllers.sceneCatalogController.Received(1).Initialize(buildModeHUDView.sceneCatalogView, testControl
 152            Assert.AreEqual(testControllers.quickBarController, buildModeHUDView.controllers.quickBarController, "The qu
 153            testControllers.quickBarController.Received(1).Initialize(buildModeHUDView.quickBarView, testControllers.sce
 154            Assert.AreEqual(testControllers.entityInformationController, buildModeHUDView.controllers.entityInformationC
 155            testControllers.entityInformationController.Received(1).Initialize(buildModeHUDView.entityInformationView);
 156            Assert.AreEqual(testControllers.firstPersonModeController, buildModeHUDView.controllers.firstPersonModeContr
 157            testControllers.firstPersonModeController.Received(1).Initialize(buildModeHUDView.firstPersonModeView, testC
 158            Assert.AreEqual(testControllers.shortcutsController, buildModeHUDView.controllers.shortcutsController, "The 
 159            testControllers.shortcutsController.Received(1).Initialize(buildModeHUDView.shortcutsView);
 160            Assert.AreEqual(testControllers.publishPopupController, buildModeHUDView.controllers.publishPopupController,
 161            testControllers.publishPopupController.Received(1).Initialize(buildModeHUDView.publishPopupView);
 162            Assert.AreEqual(testControllers.dragAndDropSceneObjectController, buildModeHUDView.controllers.dragAndDropSc
 163            testControllers.dragAndDropSceneObjectController.Received(1).Initialize(buildModeHUDView.dragAndDropSceneObj
 164            Assert.AreEqual(testControllers.publishBtnController, buildModeHUDView.controllers.publishBtnController, "Th
 165            testControllers.publishBtnController.Received(1).Initialize(buildModeHUDView.publishBtnView, testControllers
 166            Assert.AreEqual(testControllers.inspectorBtnController, buildModeHUDView.controllers.inspectorBtnController,
 167            testControllers.inspectorBtnController.Received(1).Initialize(buildModeHUDView.inspectorBtnView, testControl
 168            Assert.AreEqual(testControllers.catalogBtnController, buildModeHUDView.controllers.catalogBtnController, "Th
 169            testControllers.catalogBtnController.Received(1).Initialize(buildModeHUDView.catalogBtnView, testControllers
 170            Assert.AreEqual(testControllers.inspectorController, buildModeHUDView.controllers.inspectorController, "The 
 171            testControllers.inspectorController.Received(1).Initialize(buildModeHUDView.inspectorView);
 172            Assert.AreEqual(testControllers.topActionsButtonsController, buildModeHUDView.controllers.topActionsButtonsC
 173            testControllers.topActionsButtonsController.Received(1).Initialize(buildModeHUDView.topActionsButtonsView, t
 174            Assert.AreEqual(testControllers.buildModeConfirmationModalController, buildModeHUDView.controllers.buildMode
 175            testControllers.buildModeConfirmationModalController.Received(1).Initialize(buildModeHUDView.buildModeConfir
 176            testControllers.topActionsButtonsController.Received(1).Initialize(buildModeHUDView.topActionsButtonsView, t
 177            Assert.AreEqual(testControllers.saveHUDController, buildModeHUDView.controllers.saveHUDController, "The Save
 178            testControllers.saveHUDController.Received(1).Initialize(buildModeHUDView.saveView);
 179            Assert.AreEqual(testControllers.newProjectDetailsController, buildModeHUDView.controllers.newProjectDetailsC
 180            testControllers.newProjectDetailsController.Received(1).Initialize(buildModeHUDView.newProjectDetailsView);
 181            Assert.AreEqual(testControllers.publicationDetailsController, buildModeHUDView.controllers.publicationDetail
 182            testControllers.publicationDetailsController.Received(1).Initialize(buildModeHUDView.publicationDetailsView)
 183        }
 84
 85        [Test]
 86        [TestCase(true)]
 87        [TestCase(false)]
 88        public void SetPublishBtnAvailabilityCorrectly(bool isAvailable)
 89        {
 90            // Act
 291            buildModeHUDView.SetPublishBtnAvailability(isAvailable);
 92
 93            // Assert
 294            testControllers.publishBtnController.Received(1).SetInteractable(isAvailable);
 295        }
 96
 97        [Test]
 98        public void RefreshCatalogAssetPackCorrectly()
 99        {
 100            // Act
 1101            buildModeHUDView.RefreshCatalogAssetPack();
 102
 103            // Assert
 1104            testControllers.sceneCatalogController.Received(1).RefreshAssetPack();
 1105        }
 106
 107        [Test]
 108        public void RefreshCatalogContentCorrectly()
 109        {
 110            // Act
 1111            buildModeHUDView.RefreshCatalogContent();
 112
 113            // Assert
 1114            testControllers.sceneCatalogController.Received(1).RefreshCatalog();
 1115        }
 116
 117        [Test]
 118        [TestCase(true)]
 119        [TestCase(false)]
 120        public void SetVisibilityOfCatalogCorrectly(bool isVisible)
 121        {
 122            // Act
 2123            buildModeHUDView.SetVisibilityOfCatalog(isVisible);
 124
 125            // Assert
 2126            if (isVisible)
 1127                testControllers.sceneCatalogController.Received(1).OpenCatalog();
 128            else
 1129                testControllers.sceneCatalogController.Received(1).CloseCatalog();
 1130        }
 131
 132        [Test]
 133        [TestCase(true)]
 134        [TestCase(false)]
 135        public void SetVisibilityOfSceneInfoCorrectly(bool isVisible)
 136        {
 137            // Act
 2138            buildModeHUDView.SetVisibilityOfSceneInfo(isVisible);
 139
 140            // Assert
 2141            if (isVisible)
 1142                testControllers.inspectorController.sceneLimitsController.Received(1).Enable();
 143            else
 1144                testControllers.inspectorController.sceneLimitsController.Received(1).Disable();
 1145        }
 146
 147        [Test]
 148        [TestCase(true)]
 149        [TestCase(false)]
 150        public void SetVisibilityOfControlsCorrectly(bool isVisible)
 151        {
 152            // Act
 2153            buildModeHUDView.SetVisibilityOfControls(isVisible);
 154
 155            // Assert
 2156            testControllers.shortcutsController.Received(1).SetActive(isVisible);
 2157        }
 158
 159        [Test]
 160        [TestCase(true)]
 161        [TestCase(false)]
 162        public void SetVisibilityOfExtraBtnsCorrectly(bool isVisible)
 163        {
 164            // Act
 2165            buildModeHUDView.SetVisibilityOfExtraBtns(isVisible);
 166
 167            // Assert
 2168            testControllers.topActionsButtonsController.Received(1).SetExtraActionsActive(isVisible);
 2169        }
 170
 171        [Test]
 172        public void SetFirstPersonViewCorrectly()
 173        {
 174            // Arrange
 1175            buildModeHUDView.firstPersonCanvasGO.SetActive(false);
 1176            buildModeHUDView.godModeCanvasGO.SetActive(true);
 177
 178            // Act
 1179            buildModeHUDView.SetFirstPersonView();
 180
 181            // Assert
 1182            Assert.IsTrue(buildModeHUDView.firstPersonCanvasGO.activeSelf, "The firstPersonCanvasGO active property is f
 1183            Assert.IsFalse(buildModeHUDView.godModeCanvasGO.activeSelf, "The godModeCanvasGO active property is true!");
 1184        }
 185
 186        [Test]
 187        public void HideToolTipCorrectly()
 188        {
 189            // Act
 1190            buildModeHUDView.HideToolTip();
 191
 192            // Assert
 1193            testControllers.tooltipController.Received(1).HideTooltip();
 1194        }
 195
 196        [Test]
 197        [TestCase(true)]
 198        [TestCase(false)]
 199        public void SetActiveCorrectly(bool isActive)
 200        {
 201            // Arrange
 2202            buildModeHUDView.gameObject.SetActive(!isActive);
 203
 204            // Act
 2205            buildModeHUDView.SetActive(isActive);
 206
 207            // Assert
 2208            Assert.AreEqual(isActive, buildModeHUDView.gameObject.activeSelf, "The game object actove property does not 
 2209        }
 210
 211        [Test]
 212        [TestCase(true)]
 213        [TestCase(false)]
 214        public void SetVisibilityOfInspectorCorrectly(bool isActive)
 215        {
 216            // Act
 2217            buildModeHUDView.SetVisibilityOfInspector(isActive);
 218
 219            // Assert
 2220            if (isActive)
 1221                buildModeHUDView.controllers.inspectorController.Received(1).OpenEntityList();
 222            else
 1223                buildModeHUDView.controllers.inspectorController.Received(1).CloseList();
 1224        }
 225    }
 226}