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.Armor; namespace Test.EditMode.Prefabs.Generic { public class BootsObjectTest { 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 bootsObjects = gameObject.GetComponentsInChildren(); // Only boots for current testing if (bootsObjects.All(belt => belt.armorData.armorType != ArmorType.Boots)) return; // If prefab have any ArmorObject - take it, we will test it if (bootsObjects.Length > 0) _gameObjects.Add(gameObject); }); } [OneTimeTearDown] public void Cleanup() { _gameObjects?.Clear(); _gameObjects = null; } [Test] public void NothingToTest() { } } }