< Summary

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreatePromise()0%110100%
CreatePromise(...)0%110100%
BeSetupCorrectlyAfterLoad()0%440100%
ShareTextureAmongPromisesWithSameSettings()0%660100%
FailWithBogusTexture()0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/Texture/Tests/APK_Texture_Promise_Should.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 APK_Texture_Promise_Should : TestsBase_APK<AssetPromiseKeeper_Texture,
 12        AssetPromise_Texture,
 13        Asset_Texture,
 14        AssetLibrary_Texture>
 15    {
 16        protected AssetPromise_Texture CreatePromise()
 17        {
 118            string url = TestAssetsUtils.GetPath() + "/Images/atlas.png";
 119            var prom = new AssetPromise_Texture(url);
 120            return prom;
 21        }
 22
 23        protected AssetPromise_Texture CreatePromise(TextureWrapMode wrapmode, FilterMode filterMode)
 24        {
 525            string url = TestAssetsUtils.GetPath() + "/Images/atlas.png";
 526            AssetPromise_Texture prom = new AssetPromise_Texture(url, wrapmode, filterMode);
 27
 528            return prom;
 29        }
 30
 31        [UnityTest]
 32        public IEnumerator BeSetupCorrectlyAfterLoad()
 33        {
 34            // Check non-default-settings texture
 135            Asset_Texture loadedAsset = null;
 136            var prom = CreatePromise(TextureWrapMode.Repeat, FilterMode.Trilinear);
 37
 238            prom.OnSuccessEvent += (x) => loadedAsset = x;
 39
 140            keeper.Keep(prom);
 41
 142            yield return prom;
 43
 144            Assert.IsNotNull(loadedAsset);
 145            Assert.IsNotNull(loadedAsset.texture);
 146            Assert.AreEqual(loadedAsset.texture.wrapMode, TextureWrapMode.Repeat);
 147            Assert.AreEqual(loadedAsset.texture.filterMode, FilterMode.Trilinear);
 48
 49            // Check default texture
 150            loadedAsset = null;
 151            prom = CreatePromise();
 52
 253            prom.OnSuccessEvent += (x) => loadedAsset = x;
 54
 155            keeper.Keep(prom);
 56
 157            yield return prom;
 58
 159            Assert.IsNotNull(loadedAsset);
 160            Assert.IsNotNull(loadedAsset.texture);
 61
 162            TextureWrapMode defaultWrapMode = TextureWrapMode.Clamp;
 163            FilterMode defaultFilterMode = FilterMode.Bilinear;
 64
 165            Assert.AreEqual(loadedAsset.texture.wrapMode, defaultWrapMode);
 166            Assert.AreEqual(loadedAsset.texture.filterMode, defaultFilterMode);
 167        }
 68
 69        [UnityTest]
 70        public IEnumerator ShareTextureAmongPromisesWithSameSettings()
 71        {
 72            // 2 non-default textures
 173            Asset_Texture loadedAsset = null;
 174            var prom = CreatePromise(TextureWrapMode.Repeat, FilterMode.Trilinear);
 75
 276            prom.OnSuccessEvent += (x) => loadedAsset = x;
 77
 178            keeper.Keep(prom);
 179            yield return prom;
 80
 181            Asset_Texture loadedAsset2 = null;
 182            var prom2 = CreatePromise(TextureWrapMode.Repeat, FilterMode.Trilinear);
 83
 284            prom2.OnSuccessEvent += (x) => loadedAsset2 = x;
 85
 186            keeper.Keep(prom2);
 187            yield return prom2;
 88
 189            Assert.IsNotNull(loadedAsset);
 190            Assert.IsNotNull(loadedAsset.texture);
 191            Assert.IsNotNull(loadedAsset2);
 192            Assert.IsNotNull(loadedAsset2.texture);
 93
 194            Assert.IsTrue(loadedAsset.texture == loadedAsset2.texture);
 95
 96            // 2 default textures
 197            Asset_Texture loadedAsset3 = null;
 198            var prom3 = CreatePromise(TextureWrapMode.Repeat, FilterMode.Trilinear);
 99
 2100            prom3.OnSuccessEvent += (x) => loadedAsset3 = x;
 101
 1102            keeper.Keep(prom3);
 1103            yield return prom3;
 104
 1105            Asset_Texture loadedAsset4 = null;
 1106            var prom4 = CreatePromise(TextureWrapMode.Repeat, FilterMode.Trilinear);
 107
 2108            prom4.OnSuccessEvent += (x) => loadedAsset4 = x;
 109
 1110            keeper.Keep(prom4);
 1111            yield return prom4;
 112
 1113            Assert.IsNotNull(loadedAsset3);
 1114            Assert.IsNotNull(loadedAsset3.texture);
 1115            Assert.IsNotNull(loadedAsset4);
 1116            Assert.IsNotNull(loadedAsset4.texture);
 117
 1118            Assert.IsTrue(loadedAsset3.texture == loadedAsset4.texture);
 1119        }
 120
 121        [UnityTest]
 122        public IEnumerator FailWithBogusTexture()
 123        {
 1124            string url = $"file://{Application.dataPath + "/../TestResources/Audio/Train.wav"}";
 125
 126            Asset_Texture loadedAsset = null;
 1127            AssetPromise_Texture prom = new AssetPromise_Texture(url);
 1128            bool failed = false;
 1129            bool succeeded = false;
 1130            prom.OnSuccessEvent += (x) => succeeded = true;
 2131            prom.OnFailEvent += (x) => failed = true;
 132
 1133            keeper.Keep(prom);
 1134            yield return prom;
 135
 1136            Assert.IsTrue(failed);
 1137            Assert.IsFalse(succeeded);
 1138        }
 139    }
 140}