mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-09-02 18:17:09 +02:00
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
47 lines
1.9 KiB
C#
47 lines
1.9 KiB
C#
using Moq;
|
|
using NUnit.Framework;
|
|
using Robust.Server.GameObjects;
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.Network;
|
|
using Robust.Shared.Network.Messages;
|
|
using Robust.Shared.Timing;
|
|
using Robust.Shared.Utility;
|
|
|
|
namespace Robust.UnitTesting.Server.GameObjects
|
|
{
|
|
public sealed class ServerEntityNetworkManagerTest
|
|
{
|
|
[Test]
|
|
public void TestMessageSort()
|
|
{
|
|
var tickA = new GameTick(5);
|
|
var tickB = new GameTick(3);
|
|
var channel = new Mock<INetChannel>().Object;
|
|
var msgA = new MsgEntity() {MsgChannel = channel, Type = EntityMessageType.SystemMessage, SourceTick = tickA, Sequence = 10};
|
|
var msgB = new MsgEntity() {MsgChannel = channel, Type = EntityMessageType.SystemMessage, SourceTick = tickA, Sequence = 13};
|
|
var msgC = new MsgEntity() {MsgChannel = channel, Type = EntityMessageType.SystemMessage, SourceTick = tickA, Sequence = 12};
|
|
var msgD = new MsgEntity() {MsgChannel = channel, Type = EntityMessageType.SystemMessage, SourceTick = tickA, Sequence = 14};
|
|
var msgE = new MsgEntity() {MsgChannel = channel, Type = EntityMessageType.SystemMessage, SourceTick = tickB, Sequence = 7};
|
|
var msgF = new MsgEntity() {MsgChannel = channel, Type = EntityMessageType.SystemMessage, SourceTick = tickB, Sequence = 4};
|
|
|
|
var pq = new PriorityQueue<MsgEntity>(new ServerEntityManager.MessageSequenceComparer())
|
|
{
|
|
msgA,
|
|
msgB,
|
|
msgC,
|
|
msgD,
|
|
msgE,
|
|
msgF
|
|
};
|
|
|
|
|
|
Assert.That(pq.Take(), Is.EqualTo(msgF));
|
|
Assert.That(pq.Take(), Is.EqualTo(msgE));
|
|
Assert.That(pq.Take(), Is.EqualTo(msgA));
|
|
Assert.That(pq.Take(), Is.EqualTo(msgC));
|
|
Assert.That(pq.Take(), Is.EqualTo(msgB));
|
|
Assert.That(pq.Take(), Is.EqualTo(msgD));
|
|
}
|
|
}
|
|
}
|