WuhuIslandTesting/Library/PackageCache/com.unity.addressables@1.21.12/Tests/Editor/ResourceCleanupTests.cs
2025-01-07 02:06:59 +01:00

53 lines
1.7 KiB
C#

using System;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.ResourceManagement.Diagnostics;
using UnityEngine.ResourceManagement.Util;
namespace UnityEditor.AddressableAssets.Tests
{
using Object = UnityEngine.Object;
public class ResourceCleanupTests : AddressableAssetTestBase
{
int CountResourcesByName(string name)
{
int count = 0;
Object[] objects = Resources.FindObjectsOfTypeAll(typeof(GameObject));
foreach (Object o in objects)
{
if (o.name.Equals(name)) ++count;
}
return count;
}
[Test]
public void CleanupEventCollector()
{
var currentECCount = CountResourcesByName("EventCollector");
EditorApplication.isPlaying = true;
Assert.NotNull(DiagnosticEventCollectorSingleton.Instance);
Assert.True(DiagnosticEventCollectorSingleton.Exists);
EditorApplication.isPlaying = false;
Assert.False(DiagnosticEventCollectorSingleton.Exists);
Assert.AreEqual(currentECCount, CountResourcesByName("EventCollector"));
}
[Test]
public void CleanupDelayedActionManager()
{
var currentDAMCount = CountResourcesByName("DelayedActionManager");
EditorApplication.isPlaying = true;
DelayedActionManager.AddAction(new Action(() => { }));
Assert.True(DelayedActionManager.Exists);
Assert.NotNull(DelayedActionManager.Instance);
EditorApplication.isPlaying = false;
Assert.False(DelayedActionManager.Exists);
Assert.AreEqual(currentDAMCount, CountResourcesByName("DelayedActionManager"));
}
}
}