Пример #1
0
        public void Locator_KeysProperty_Contains_Expected_Keys()
        {
            using (new HideResourceFoldersScope())
            {
                SetupLocatorAssets();
                var locator = new AddressableAssetSettingsLocator(m_Settings);
                if (ExpectedKeys.Count != locator.Keys.Count())
                {
                    Debug.Log("GENERATED");
                    int i = 0;
                    foreach (var k in locator.Keys)
                    {
                        Debug.Log($"[{i}] {k}");
                        i++;
                    }

                    Debug.Log("EXPECTED");
                    i = 0;
                    foreach (var k in ExpectedKeys)
                    {
                        Debug.Log($"[{i}] {k}");
                        i++;
                    }
                }

                Assert.AreEqual(ExpectedKeys.Count, locator.Keys.Count());
                int index = 0;
                foreach (var k in locator.Keys)
                {
                    Assert.IsTrue(ExpectedKeys.Contains(k), $"Cannot find key {k}, index={index} in expected keys");
                    index++;
                }
            }
        }
        public void RunResourcesTestWithAsset(bool IncludeResourcesFolders)
        {
            int builtInResourceCount = ResourcesTestUtility.GetResourcesEntryCount(m_Settings, true);
            var path = GetPath("Resources/test.asset");
            var dir  = Path.GetDirectoryName(path);

            Directory.CreateDirectory(dir);
            AssetDatabase.CreateAsset(UnityEngine.AddressableAssets.Tests.TestObject.Create("test"), path);
            AssetDatabase.SaveAssets();
            m_Settings.FindGroup(g => g.HasSchema <PlayerDataGroupSchema>()).GetSchema <PlayerDataGroupSchema>().IncludeResourcesFolders = IncludeResourcesFolders;
            var locator = new AddressableAssetSettingsLocator(m_Settings);
            var res     = locator.Locate("test", null, out var locations);

            Assert.AreEqual(res, IncludeResourcesFolders);
            if (IncludeResourcesFolders)
            {
                Assert.AreEqual(1 + builtInResourceCount, locations.Count + builtInResourceCount);
            }
            else
            {
                Assert.IsNull(locations);
            }
            AssetDatabase.DeleteAsset(path);
            Directory.Delete(dir);
        }
 public void WhenLocatorWithScenesInSceneList_LocateWithISceneInstanceType_ReturnsLocationForScene()
 {
     CreateAndAddScenesToEditorBuildSettings("testScene", 3);
     var locator = new AddressableAssetSettingsLocator(m_Settings);
     for (int i = 0; i < EditorBuildSettings.scenes.Length; i++)
         AssertLocateResult(locator, $"testScene{i}", typeof(SceneInstance), GetPath($"testScene{i}.unity"));
 }
 public void WhenLocatorWithAssetsInFolder_LocateWithFolderKeyFails()
 {
     var folderGUID = CreateFolder("TestFolder", new string[] { "asset1.asset", "asset2.asset", "asset3.asset" });
     m_Settings.CreateOrMoveEntry(folderGUID, m_Settings.DefaultGroup).address = "TF";
     var locator = new AddressableAssetSettingsLocator(m_Settings);
     Assert.IsFalse(locator.Locate("TF", null, out var locations));
 }
 public void WhenLocatorWithSingleAsset_LocateWithInvalidKeyReturnsFalse()
 {
     m_Settings.CreateOrMoveEntry(CreateAsset("asset1", GetPath("asset1.asset")), m_Settings.DefaultGroup).address = "address1";
     var locator = new AddressableAssetSettingsLocator(m_Settings);
     Assert.IsFalse(locator.Locate("invalid", null, out var locs));
     Assert.IsNull(locs);
 }
 public void LocateWithNonSceneInstanceType_DoesNotReturnSceneLocations()
 {
     CreateAndAddScenesToEditorBuildSettings("test", 1);
     var guid = CreateAsset("test0", GetPath("asset1.asset"));
     m_Settings.CreateOrMoveEntry(guid, m_Settings.DefaultGroup).address = "test0";
     var locator = new AddressableAssetSettingsLocator(m_Settings);
     Assert.IsTrue(locator.Locate("test0", typeof(UnityEngine.AddressableAssets.Tests.TestObject), out var locations));
     Assert.AreEqual(1, locations.Count);
     Assert.AreEqual(typeof(UnityEngine.AddressableAssets.Tests.TestObject), locations[0].ResourceType);
 }
 public void LocateWithSceneInstanceType_ReturnsLocationsWhenTypeNull()
 {
     CreateAndAddScenesToEditorBuildSettings("test", 1);
     var guid = CreateAsset("test0", GetPath("asset1.asset"));
     m_Settings.CreateOrMoveEntry(guid, m_Settings.DefaultGroup).address = "test0";
     var locator = new AddressableAssetSettingsLocator(m_Settings);
     Assert.IsTrue(locator.Locate("test0", null, out var locations));
     Assert.AreEqual(2, locations.Count);
     Assert.AreEqual(typeof(SceneInstance), locations[0].ResourceType);
 }
 public void WhenLocatorWithAssetsInNestedFolders_LocateWithAssetKeySucceeds()
 {
     var folderGUID1 = CreateFolder("TestFolder", new string[] { "asset1.asset", "asset2.asset", "asset3.asset" });
     var folderGUID2 = CreateFolder("TestFolder/TestSubFolder1", new string[] { "asset1.asset", "asset2.asset", "asset3.asset" });
     var folderGUID3 = CreateFolder("TestFolder/TestSubFolder1/TestSubFolder2", new string[] { "asset1.asset", "asset2.asset", "asset3.asset" });
     m_Settings.CreateOrMoveEntry(folderGUID1, m_Settings.DefaultGroup).address = "TF";
     var locator = new AddressableAssetSettingsLocator(m_Settings);
     AssertLocateResult(locator, "TF/asset1.asset", null, GetPath("TestFolder/asset1.asset"));
     AssertLocateResult(locator, "TF/TestSubFolder1/asset1.asset", null, GetPath("TestFolder/TestSubFolder1/asset1.asset"));
     AssertLocateResult(locator, "TF/TestSubFolder1/TestSubFolder2/asset1.asset", null, GetPath("TestFolder/TestSubFolder1/TestSubFolder2/asset1.asset"));
 }
Пример #9
0
        public void Locator_KeysProperty_Contains_Expected_Keys()
        {
            using (new HideResourceFoldersScope())
            {
                var folderGUID1 = CreateFolder("TestFolder",
                                               new string[] { "asset1.asset", "asset2.asset", "asset3.asset" }, ExpectedKeys);
                var folderGUID2 = CreateFolder("TestFolder/TestSubFolder1",
                                               new string[] { "asset1.asset", "asset2.asset", "asset3.asset" }, ExpectedKeys);
                var folderGUID3 = CreateFolder("TestFolder/TestSubFolder1/Resources",
                                               new string[] { "asset1.asset", "asset2.asset", "asset3.asset" }, ExpectedKeys);
                var folderGUID4 = CreateFolder("TestFolder/TestSubFolder2",
                                               new string[] { "scene1.unity", "scene2.unity", "scene3.unity" }, ExpectedKeys);
                CreateAndAddScenesToEditorBuildSettings("TestScene", 3, ExpectedKeys);
                var assetInFolder = m_Settings.CreateOrMoveEntry(
                    AssetDatabase.AssetPathToGUID(GetPath("TestFolder/asset1.asset")), m_Settings.DefaultGroup);
                assetInFolder.address = "AssetAddress";
                assetInFolder.SetLabel("AssetLabel", true, true, true);
                var tf = m_Settings.CreateOrMoveEntry(folderGUID1, m_Settings.DefaultGroup);
                tf.address = "TF";
                tf.SetLabel("FolderLabel1", true, true, true);
                var tf2 = m_Settings.CreateOrMoveEntry(folderGUID2, m_Settings.DefaultGroup);
                tf2.address = "TestFolder/TestSubFolder1";
                var locator = new AddressableAssetSettingsLocator(m_Settings);
                if (ExpectedKeys.Count != locator.Keys.Count())
                {
                    Debug.Log("GENERATED");
                    int i = 0;
                    foreach (var k in locator.Keys)
                    {
                        Debug.Log($"[{i}] {k}");
                        i++;
                    }

                    Debug.Log("EXPECTED");
                    i = 0;
                    foreach (var k in ExpectedKeys)
                    {
                        Debug.Log($"[{i}] {k}");
                        i++;
                    }
                }

                Assert.AreEqual(ExpectedKeys.Count, locator.Keys.Count());
                int index = 0;
                foreach (var k in locator.Keys)
                {
                    Assert.IsTrue(ExpectedKeys.Contains(k), $"Cannot find key {k}, index={index} in expected keys");
                    index++;
                }
            }
        }
        public void Locator_KeysProperty_Contains_Expected_Keys()
        {
            using (new HideResourceFoldersScope())
            {
                SetupLocatorAssets();
                var locator = new AddressableAssetSettingsLocator(m_Settings);
                if (ExpectedKeys.Count != locator.Keys.Count())
                {
                    Debug.Log("GENERATED");
                    int i = 0;
                    foreach (var k in locator.Keys)
                    {
                        Debug.Log($"[{i}] {k}");
                        i++;
                    }

                    Debug.Log("EXPECTED");
                    i = 0;
                    foreach (var k in ExpectedKeys)
                    {
                        Debug.Log($"[{i}] {k}");
                        i++;
                    }
                }

                var builtInPackageResourcesEntries = ResourcesTestUtility.GetResourcesEntries(m_Settings, true);
                foreach (var key in builtInPackageResourcesEntries)
                {
                    ExpectedKeys.Add(key.guid);
                    ExpectedKeys.Add(key.address);
                }

                Assert.AreEqual(ExpectedKeys.Count, locator.Keys.Count());
                int index = 0;
                foreach (var k in locator.Keys)
                {
                    Assert.IsTrue(ExpectedKeys.Contains(k), $"Cannot find key {k}, index={index} in expected keys");
                    index++;
                }
            }
        }