| | 1 | | using AssetPromiseKeeper_Tests; |
| | 2 | | using DCL; |
| | 3 | | using DCL.Helpers; |
| | 4 | | using System.Collections; |
| | 5 | | using UnityEngine.Assertions; |
| | 6 | | using UnityEngine.TestTools; |
| | 7 | |
|
| | 8 | | namespace AssetPromiseKeeper_Gif_Tests |
| | 9 | | { |
| | 10 | | public class APK_Gif_Promise_Should : TestsBase_APK<AssetPromiseKeeper_Gif, |
| | 11 | | AssetPromise_Gif, |
| | 12 | | Asset_Gif, |
| | 13 | | AssetLibrary_RefCounted<Asset_Gif>> |
| | 14 | | { |
| | 15 | | protected AssetPromise_Gif CreatePromise() |
| | 16 | | { |
| 2 | 17 | | string url = TestAssetsUtils.GetPath() + "/Images/gif1.gif"; |
| 2 | 18 | | var prom = new AssetPromise_Gif(url); |
| 2 | 19 | | return prom; |
| | 20 | | } |
| | 21 | |
|
| | 22 | | [UnityTest] |
| | 23 | | public IEnumerator ShareGifAmongPromises() |
| | 24 | | { |
| 1 | 25 | | Asset_Gif[] assets = new Asset_Gif [] { null, null }; |
| 1 | 26 | | AssetPromise_Gif[] promises = new AssetPromise_Gif [] { CreatePromise(), CreatePromise() }; |
| | 27 | |
|
| 2 | 28 | | promises[0].OnSuccessEvent += (x) => assets[0] = x; |
| 2 | 29 | | promises[1].OnSuccessEvent += (x) => assets[1] = x; |
| | 30 | |
|
| 6 | 31 | | for (int i = 0; i < promises.Length; i++) |
| | 32 | | { |
| 2 | 33 | | keeper.Keep(promises[i]); |
| 2 | 34 | | yield return promises[i]; |
| | 35 | | } |
| | 36 | |
|
| 6 | 37 | | for (int i = 0; i < assets.Length; i++) |
| | 38 | | { |
| 2 | 39 | | Assert.IsNotNull(assets[i]); |
| 2 | 40 | | Assert.IsNotNull(assets[i].texture); |
| | 41 | | } |
| | 42 | |
|
| 1 | 43 | | Assert.IsTrue(assets[0].texture == assets[1].texture); |
| 1 | 44 | | } |
| | 45 | | } |
| | 46 | | } |