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")); }
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++; } } }