WuhuIslandTesting/Library/PackageCache/com.unity.addressables@1.21.12/Tests/Editor/Diagnostics/EventDataPlayerSessionCollectionTests.cs

91 lines
4.1 KiB
C#
Raw Normal View History

2025-01-07 02:06:59 +01:00
using NUnit.Framework;
using UnityEditor.AddressableAssets.Diagnostics.Data;
using UnityEngine.ResourceManagement.Diagnostics;
namespace UnityEditor.AddressableAssets.Tests.Diagnostics
{
public class EventDataPlayerSessionCollectionTests
{
[Test]
public void EventDataPlayerSessionCollection_RecordEvent_ReturnsFalseOnNullEventHandler()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection(null);
Assert.IsFalse(edpsc.RecordEvent(new DiagnosticEvent()), "RecordEvent should return null if m_OnRecordEvent is null");
}
[Test]
public void EventDataPlayerSessionCollection_GetPlayerSession_ProperlyCreatesWhenCreateIsTrue()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection((DiagnosticEvent x) => true);
EventDataPlayerSession edps = edpsc.GetPlayerSession(0, true);
Assert.NotNull(edps, "New EventDataPlayerSession should have been created.");
Assert.AreEqual("Player 0", edps.EventName);
}
[Test]
public void EventDataPlayerSessionCollection_GetPlayerSession_ReturnsNullOnNoIdMatch()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection((DiagnosticEvent x) => true);
EventDataPlayerSession edps = edpsc.GetPlayerSession(0, false);
Assert.IsNull(edps, "New EventDataPlayerSession should not be created when create = false and there is no id match. ");
}
[Test]
public void EventDataPlayerSessionCollection_GetSessionByIndex_ReturnsNullOnInvalidInput()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection((DiagnosticEvent x) => true);
Assert.IsNull(edpsc.GetSessionByIndex(0), "Trying to request a session with a nonexistent index should return null. ");
edpsc.AddSession("test session", 0);
Assert.IsNull(edpsc.GetSessionByIndex(2), "Trying to request a session with a nonexistent index should return null. ");
Assert.NotNull(edpsc.GetSessionByIndex(0), "Session not returned properly on valid index. ");
}
[Test]
public void EventDataPlayerSessionCollection_GetSessionIndexById_SimpleCase()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection((DiagnosticEvent x) => true);
edpsc.AddSession("Test session", 0);
edpsc.AddSession("Test session 2", 1);
Assert.AreEqual(1, edpsc.GetSessionIndexById(1), "Session index not properly returned. ");
}
[Test]
public void EventDataPlayerSessionCollection_GetSessionIndexById_NullCase()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection((DiagnosticEvent x) => true);
edpsc.AddSession("Test session", 0);
edpsc.AddSession("Test session 2", 1);
Assert.AreEqual(-1, edpsc.GetSessionIndexById(10000000), "Incorrect value returned, GetSessionIndexById should return -1 when the queried id does not exist.");
}
[Test]
public void EventDataPlayerSessionCollection_RemoveSession_SimpleCase()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection((DiagnosticEvent x) => true);
edpsc.AddSession("Test session", 0);
edpsc.RemoveSession(0);
Assert.AreEqual(0, edpsc.GetSessionCount(), "Session was not properly removed.");
}
[Test]
public void EventDataPlayerSessionCollection_TestPlayerConnection()
{
EventDataPlayerSessionCollection edpsc = new EventDataPlayerSessionCollection((DiagnosticEvent x) => true);
edpsc.AddSession("Default", 0);
edpsc.GetPlayerSession(1000, true).IsActive = true;
Assert.AreEqual(2, edpsc.GetSessionCount(), "Session not properly added. ");
int connectedSessionIndex = edpsc.GetSessionIndexById(1000);
Assert.AreEqual(1, connectedSessionIndex, "Session index not properly set. ");
}
}
}