< Summary

Class:AssetPromiseKeeper_Texture_Tests.BlockedAndMasterPromisesShould
Assembly:AssetPromiseKeeper_Texture_Tests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/Texture/Tests/BlockedAndMasterPromisesShould.cs
Covered lines:54
Uncovered lines:0
Coverable lines:54
Total lines:103
Line coverage:100% (54 of 54)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreatePromise(...)0%330100%
FailCorrectlyWhenGivenWrongURL()0%550100%
WaitForPromisesOfSameTextureWithDifferentSettings()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/Texture/Tests/BlockedAndMasterPromisesShould.cs

#LineLine coverage
 1using AssetPromiseKeeper_Tests;
 2using DCL;
 3using DCL.Helpers;
 4using System.Collections;
 5using UnityEngine;
 6using UnityEngine.Assertions;
 7using UnityEngine.TestTools;
 8
 9namespace AssetPromiseKeeper_Texture_Tests
 10{
 11    public class BlockedAndMasterPromisesShould : TestsBase_APK<AssetPromiseKeeper_Texture,
 12        AssetPromise_Texture,
 13        Asset_Texture,
 14        AssetLibrary_Texture>
 15    {
 16        protected AssetPromise_Texture CreatePromise(string promiseURL, int wrapmode = -1, int filterMode = -1)
 17        {
 18            AssetPromise_Texture prom;
 19
 620            if (filterMode > -1 && wrapmode > -1)
 121                prom = new AssetPromise_Texture(promiseURL, (TextureWrapMode)wrapmode, (FilterMode)filterMode);
 22            else
 523                prom = new AssetPromise_Texture(promiseURL);
 24
 625            return prom;
 26        }
 27
 28        [UnityTest]
 29        public IEnumerator FailCorrectlyWhenGivenWrongURL()
 30        {
 131            var prom = CreatePromise("123325");
 132            Asset_Texture asset = null;
 133            bool failEventCalled1 = false;
 134            prom.OnSuccessEvent += (x) => { asset = x; };
 335            prom.OnFailEvent += (x) => { failEventCalled1 = true; };
 36
 137            var prom2 = CreatePromise("43254378");
 138            Asset_Texture asset2 = null;
 139            bool failEventCalled2 = false;
 140            prom2.OnSuccessEvent += (x) => { asset2 = x; };
 341            prom2.OnFailEvent += (x) => { failEventCalled2 = true; };
 42
 143            var prom3 = CreatePromise("09898765");
 144            Asset_Texture asset3 = null;
 145            bool failEventCalled3 = false;
 146            prom3.OnSuccessEvent += (x) => { asset3 = x; };
 347            prom3.OnFailEvent += (x) => { failEventCalled3 = true; };
 48
 149            keeper.Keep(prom);
 150            keeper.Keep(prom2);
 151            keeper.Keep(prom3);
 52
 153            Assert.AreEqual(3, keeper.waitingPromisesCount);
 54
 155            yield return prom;
 156            yield return prom2;
 157            yield return prom3;
 58
 159            Assert.AreNotEqual(AssetPromiseState.FINISHED, prom.state);
 160            Assert.AreNotEqual(AssetPromiseState.FINISHED, prom2.state);
 161            Assert.AreNotEqual(AssetPromiseState.FINISHED, prom3.state);
 62
 163            Assert.IsTrue(failEventCalled1);
 164            Assert.IsTrue(failEventCalled2);
 165            Assert.IsTrue(failEventCalled3);
 66
 167            Assert.IsFalse(asset != null);
 168            Assert.IsFalse(asset2 != null);
 169            Assert.IsFalse(asset3 != null);
 70
 171            Assert.IsFalse(keeper.library.Contains(asset));
 172            Assert.AreNotEqual(1, keeper.library.masterAssets.Count);
 173        }
 74
 75        [UnityTest]
 76        public IEnumerator WaitForPromisesOfSameTextureWithDifferentSettings()
 77        {
 78            // default texture (no settings)
 179            var prom = CreatePromise(TestAssetsUtils.GetPath() + "/Images/atlas.png");
 180            Asset_Texture asset = null;
 181            prom.OnSuccessEvent += (x) => { asset = x; };
 182            keeper.Keep(prom);
 83
 84            // same texture but with settings
 185            var prom2 = CreatePromise(TestAssetsUtils.GetPath() + "/Images/atlas.png", (int)TextureWrapMode.Repeat, (int
 186            Asset_Texture asset2 = null;
 187            prom.OnSuccessEvent += (x) => { asset2 = x; };
 188            keeper.Keep(prom2);
 89
 90            // different texture
 191            var prom3 = CreatePromise(TestAssetsUtils.GetPath() + "/Images/avatar.png");
 192            Asset_Texture asset3 = null;
 193            prom.OnSuccessEvent += (x) => { asset3 = x; };
 194            keeper.Keep(prom3);
 95
 196            Assert.AreEqual(AssetPromiseState.LOADING, prom.state);
 197            Assert.AreEqual(AssetPromiseState.WAITING, prom2.state);
 198            Assert.AreEqual(AssetPromiseState.LOADING, prom3.state);
 99
 1100            return null;
 101        }
 102    }
 103}