using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Sirenix.Utilities; using UnityEditor; using UnityEngine; using VOID.Generic.Dict; using VOID.Generic.Objects.Accessory; namespace Test.EditMode.Prefabs.Generic { public class RingObjectTest { private List _gameObjects = new(); [OneTimeSetUp] public void Setup() { AssetDatabase.FindAssets($"t:{nameof(GameObject)}").ForEach(gameObjectGuid => { var gameObjectPath = AssetDatabase.GUIDToAssetPath(gameObjectGuid); var gameObject = AssetDatabase.LoadAssetAtPath(gameObjectPath); var ringObjects = gameObject.GetComponentsInChildren(); // Only rings for current testing if (ringObjects.All(ring => ring.accessoryData.accessoryType != AccessoryType.Ring)) return; // If prefab have any AccessoryObject - take it, we will test it if (ringObjects.Length > 0) _gameObjects.Add(gameObject); }); } [OneTimeTearDown] public void Cleanup() { _gameObjects?.Clear(); _gameObjects = null; } [Test] public void NothingToTest() { } } }