public void AddressableAssetWindow_CanSelectGroupTreeViewByAddressableAssetEntries() { //Setup var defaultGroup = Settings.DefaultGroup; Assert.IsNotNull(defaultGroup, "Default Group is not found"); string p1 = AssetDatabase.AssetPathToGUID(GetAssetPath("test 1.prefab")); Assert.IsFalse(string.IsNullOrEmpty(p1), "Could not setup for Asset \"test 1.prefab\""); string p2 = AssetDatabase.AssetPathToGUID(GetAssetPath("test 2.prefab")); Assert.IsFalse(string.IsNullOrEmpty(p2), "Could not setup for Asset \"test 2.prefab\""); var e1 = Settings.CreateOrMoveEntry(p1, defaultGroup); var e2 = Settings.CreateOrMoveEntry(p2, defaultGroup); AddressableAssetsWindow aaWindow = ScriptableObject.CreateInstance <AddressableAssetsWindow>(); aaWindow.m_GroupEditor = new AddressableAssetsSettingsGroupEditor(aaWindow); aaWindow.m_GroupEditor.OnDisable(); aaWindow.m_GroupEditor.settings = Settings; var entryTree = aaWindow.m_GroupEditor.InitialiseEntryTree(); //Test Assert.AreEqual(0, entryTree.GetSelection().Count, "entryTree is not expected to have anything select at creation"); aaWindow.SelectAssetsInGroupEditor(new List <AddressableAssetEntry>() { e1 }); Assert.AreEqual(1, entryTree.GetSelection().Count, "Expecting to have \"test 1.prefab\" selected."); aaWindow.SelectAssetsInGroupEditor(new List <AddressableAssetEntry>() { e2 }); Assert.AreEqual(1, entryTree.GetSelection().Count, "Expecting to have \"test 2.prefab\" selected."); aaWindow.SelectAssetsInGroupEditor(new List <AddressableAssetEntry>() { e1, e2 }); Assert.AreEqual(2, entryTree.GetSelection().Count, "Expecting to have \"test 1.prefab\" and \"test 2.prefab\" selected."); //Cleanup Assert.IsTrue(Settings.RemoveAssetEntry(e1, false), "Failed to cleanup AssetEntry \"test 1.prefab\" from test settings."); Assert.IsTrue(Settings.RemoveAssetEntry(e2, false), "Failed to cleanup AssetEntry \"test 2.prefab\" from test settings."); Object.DestroyImmediate(aaWindow); }
public void AddressableAssetWindow_CanSelectGroupTreeViewByAddressableAssetEntries() { //Setup var defaultGroup = Settings.DefaultGroup; Assert.IsNotNull(defaultGroup, "Default Group is not found"); ProjectConfigData.ShowSubObjectsInGroupView = true; string path0 = GetAssetPath("test.prefab"); string p0 = AssetDatabase.AssetPathToGUID(path0); Assert.IsFalse(string.IsNullOrEmpty(p0), "Could not setup for Asset \"test.prefab\""); Texture t = new Texture2D(4, 4); t.name = "tex"; AssetDatabase.AddObjectToAsset(t, path0); AssetDatabase.SaveAssets(); string p1 = AssetDatabase.AssetPathToGUID(GetAssetPath("test 1.prefab")); Assert.IsFalse(string.IsNullOrEmpty(p1), "Could not setup for Asset \"test 1.prefab\""); string p2 = AssetDatabase.AssetPathToGUID(GetAssetPath("test 2.prefab")); Assert.IsFalse(string.IsNullOrEmpty(p2), "Could not setup for Asset \"test 2.prefab\""); var e0 = Settings.CreateOrMoveEntry(p0, defaultGroup); List <AddressableAssetEntry> gathered = new List <AddressableAssetEntry>(); e0.GatherAllAssets(gathered, false, true, true); Assert.AreEqual(1, gathered.Count, "Incorrect subObject count for Asset at " + path0); var e1 = Settings.CreateOrMoveEntry(p1, defaultGroup); var e2 = Settings.CreateOrMoveEntry(p2, defaultGroup); AddressableAssetsWindow aaWindow = ScriptableObject.CreateInstance <AddressableAssetsWindow>(); aaWindow.m_GroupEditor = new AddressableAssetsSettingsGroupEditor(aaWindow); aaWindow.m_GroupEditor.OnDisable(); aaWindow.m_GroupEditor.settings = Settings; var entryTree = aaWindow.m_GroupEditor.InitialiseEntryTree(); //Test Assert.AreEqual(0, entryTree.GetSelection().Count, "entryTree is not expected to have anything select at creation"); aaWindow.SelectAssetsInGroupEditor(new List <AddressableAssetEntry>() { e1 }); Assert.AreEqual(1, entryTree.GetSelection().Count, "Expecting to have \"test 1.prefab\" selected."); aaWindow.SelectAssetsInGroupEditor(new List <AddressableAssetEntry>() { e2 }); Assert.AreEqual(1, entryTree.GetSelection().Count, "Expecting to have \"test 2.prefab\" selected."); aaWindow.SelectAssetsInGroupEditor(new List <AddressableAssetEntry>() { e1, e2 }); Assert.AreEqual(2, entryTree.GetSelection().Count, "Expecting to have \"test 1.prefab\" and \"test 2.prefab\" selected."); Assert.IsTrue(ProjectConfigData.ShowSubObjectsInGroupView, "Need to display subObjects to test that they are being shown"); aaWindow.SelectAssetsInGroupEditor(new List <AddressableAssetEntry>() { gathered[0] }); Assert.AreEqual(1, entryTree.GetSelection().Count, "Expecting to have \"test.prefab[SubObject]\" selected."); //Cleanup Assert.IsTrue(Settings.RemoveAssetEntry(e1, false), "Failed to cleanup AssetEntry \"test 1.prefab\" from test settings."); Assert.IsTrue(Settings.RemoveAssetEntry(e2, false), "Failed to cleanup AssetEntry \"test 2.prefab\" from test settings."); Object.DestroyImmediate(aaWindow); }