// Copyright (c) 2025 EFramework Innovation. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. using NUnit.Framework; using EFramework.Unity.UIPlugin; using UnityEngine; using UnityEngine.UI; using UnityEngine.TestTools; using System.Collections; using EFramework.Unity.Utility; using TMPro; /// /// TestUIUtility 是 UIUtility 的单元测试。 /// public class TestUIUtility { private GameObject rootObj; private GameObject childObj; private Canvas canvas; private RectTransform rectTransform; [SetUp] public void Setup() { // 创建测试根对象 rootObj = new GameObject("TestRoot"); rectTransform = rootObj.AddComponent(); canvas = rootObj.AddComponent(); // 创建子对象 childObj = new GameObject("TestChild"); childObj.transform.SetParent(rootObj.transform); childObj.AddComponent(); } [TearDown] public void Reset() { // 清理测试对象 Object.DestroyImmediate(rootObj); } [Test] public void Index() { // 为子对象添加Image组件 var childImage = childObj.AddComponent(); // 使用RectTransform的Index方法查找子对象 var result = rectTransform.Index("TestChild", typeof(Image)); Assert.That(result, Is.Not.Null, "应能找到 Image 组件。"); Assert.That(result, Is.EqualTo(childImage), "应返回正确的 Image 组件。"); // 使用泛型方法 var typedResult1 = rectTransform.Index("TestChild"); Assert.That(typedResult1, Is.Not.Null, "泛型方法应能找到 Image 组件。"); Assert.That(typedResult1, Is.EqualTo(childImage), "泛型方法应返回正确的 Image 组件。"); // 为子对象添加Button组件 var childButton = childObj.AddComponent