< Summary

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetUp()0%110100%
TearDown()0%110100%
QuickBarObjectSelectedCorrectly(...)0%110100%
SetIndexToDropCorrectly()0%110100%
SceneObjectDroppedFromQuickBarCorrectly()0%110100%
SceneObjectDroppedFromCatalogCorrectly()0%110100%
SetQuickBarShortcutCorrectly(...)0%110100%
QuickBarInputCorrectly(...)0%110100%
CancelDraggingCorrectly()0%110100%

File(s)

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

#LineLine coverage
 1using DCL;
 2using NSubstitute;
 3using NUnit.Framework;
 4using UnityEngine;
 5using UnityEngine.UI;
 6
 7namespace Tests.BuildModeHUDControllers
 8{
 9    public class QuickBarControllerShould
 10    {
 11        private QuickBarController quickBarController;
 12
 13        [SetUp]
 14        public void SetUp()
 15        {
 1316            quickBarController = new QuickBarController();
 1317            quickBarController.Initialize(
 18                Substitute.For<IQuickBarView>(),
 19                Substitute.For<ISceneCatalogController>());
 1320        }
 21
 22        [TearDown]
 2623        public void TearDown() { quickBarController.Dispose(); }
 24
 25        [Test]
 26        [TestCase(0)]
 27        [TestCase(1)]
 28        [TestCase(2)]
 29        public void QuickBarObjectSelectedCorrectly(int objectIndex)
 30        {
 31            // Arrange
 332            CatalogItem catalogItemSelected = null;
 933            quickBarController.OnCatalogItemSelected += (item) => { catalogItemSelected = item; };
 34
 335            quickBarController.quickBarShortcutsCatalogItems = new CatalogItem[3];
 336            quickBarController.quickBarShortcutsCatalogItems[0] = new CatalogItem { id = "testId1" };
 337            quickBarController.quickBarShortcutsCatalogItems[1] = new CatalogItem { id = "testId2" };
 338            quickBarController.quickBarShortcutsCatalogItems[2] = new CatalogItem { id = "testId3" };
 39
 40            // Act
 341            CatalogItem result = quickBarController.QuickBarObjectSelected(objectIndex);
 42
 43            // Assert
 344            Assert.AreEqual(catalogItemSelected, result, "The catalog item does not match!");
 345            Assert.AreEqual(catalogItemSelected.id, result.id, "The catalog item id does not match!");
 346        }
 47
 48        [Test]
 49        public void SetIndexToDropCorrectly()
 50        {
 51            // Arrange
 152            int testLastIndexDropped = 5;
 153            quickBarController.lastIndexDroped = -1;
 54
 55            // Act
 156            quickBarController.SetIndexToDrop(testLastIndexDropped);
 57
 58            // Assert
 159            Assert.AreEqual(testLastIndexDropped, quickBarController.lastIndexDroped, "The last index dropped does not m
 160        }
 61
 62        [Test]
 63        public void SceneObjectDroppedFromQuickBarCorrectly()
 64        {
 65            // Arrange
 166            Asset_Texture testTexture = new Asset_Texture();
 167            CatalogItem testCatalogItem = new CatalogItem { };
 168            int testFromIndex = 0;
 169            int testToIndex = 1;
 170            quickBarController.quickBarShortcutsCatalogItems = new CatalogItem[2];
 171            quickBarController.quickBarShortcutsCatalogItems[0] = testCatalogItem;
 172            quickBarController.quickBarShortcutsCatalogItems[1] = null;
 73
 74            // Act
 175            quickBarController.SceneObjectDroppedFromQuickBar(testFromIndex, testToIndex, testTexture.texture);
 76
 77            // Assert
 178            Assert.AreEqual(testCatalogItem, quickBarController.quickBarShortcutsCatalogItems[1], "The CatalogItem 1 doe
 179            quickBarController.quickBarView.Received(1).SetTextureToShortcut(testToIndex, testTexture.texture);
 180            Assert.IsNull(quickBarController.quickBarShortcutsCatalogItems[testFromIndex], "The CatalogItem 0 is not nul
 181            quickBarController.quickBarView.Received(1).SetShortcutAsEmpty(testFromIndex);
 182        }
 83
 84        [Test]
 85        public void SceneObjectDroppedFromCatalogCorrectly()
 86        {
 87            // Act
 188            quickBarController.SceneObjectDroppedFromCatalog(null);
 89
 90            // Assert
 191            quickBarController.sceneCatalogController.Received(1).GetLastCatalogItemDragged();
 192        }
 93
 94        [Test]
 95        [TestCase(0)]
 96        [TestCase(1)]
 97        [TestCase(2)]
 98        public void SetQuickBarShortcutCorrectly(int objectIndex)
 99        {
 100            // Arrange
 3101            string testCatalogItemId = "testId";
 3102            quickBarController.lastIndexDroped = objectIndex;
 3103            quickBarController.quickBarShortcutsCatalogItems = new CatalogItem[3];
 3104            quickBarController.quickBarShortcutsCatalogItems[0] = new CatalogItem { };
 3105            quickBarController.quickBarShortcutsCatalogItems[1] = new CatalogItem { };
 3106            quickBarController.quickBarShortcutsCatalogItems[2] = new CatalogItem { };
 3107            CatalogItem testItem = new CatalogItem { id = testCatalogItemId };
 3108            Texture testTexture = new Texture2D(10, 10);
 109
 110            // Act
 3111            quickBarController.SetQuickBarShortcut(testItem, objectIndex, testTexture);
 112
 113            // Assert
 3114            Assert.AreEqual(testCatalogItemId, quickBarController.quickBarShortcutsCatalogItems[objectIndex].id);
 3115            quickBarController.quickBarView.Received(1).SetTextureToShortcut(objectIndex, testTexture);
 3116        }
 117
 118        [Test]
 119        [TestCase(0)]
 120        [TestCase(1)]
 121        [TestCase(2)]
 122        public void QuickBarInputCorrectly(int quickBarSlotIndex)
 123        {
 124            // Arrange
 3125            int selectedQuickBarSlot = -1;
 9126            quickBarController.OnQuickBarShortcutSelected += (quickBarSlot) => { selectedQuickBarSlot = quickBarSlot; };
 127
 128            // Act
 3129            quickBarController.QuickBarInput(quickBarSlotIndex);
 130
 131            // Assert
 3132            Assert.AreEqual(quickBarSlotIndex, selectedQuickBarSlot, "The QuickBar Slot index does not match!");
 3133        }
 134
 135        [Test]
 136        public void CancelDraggingCorrectly()
 137        {
 138            // Act
 1139            quickBarController.CancelDragging();
 140
 141            // Assert
 1142            quickBarController.quickBarView.Received(1).CancelCurrentDragging();
 1143        }
 144    }
 145}