Files
Beyhan Oğur d5f52cc3d3 first commit
2026-09-03 04:45:36 +03:00

129 lines
4.1 KiB
C#

using ClassicAssist.Shared;
using ClassicAssist.UO.Data;
using ClassicAssist.UO.Network;
using ClassicAssist.UO.Network.Packets;
using ClassicAssist.UO.Objects;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace ClassicAssist.Tests
{
[TestClass]
public class IncomingPacketHandlerTests
{
[TestInitialize]
public void Initialize()
{
Engine.Items = new ItemCollection( 0 );
Engine.Mobiles = new MobileCollection( Engine.Items );
Engine.Player = new PlayerMobile( 1 );
IncomingPacketHandlers.Initialize();
}
[TestMethod]
public void ContainerContentsWillAddToPlayerBackpack()
{
const int backpackSerial = 0x40000001;
const int itemSerial = 0x40000002;
Item backpack = new Item( backpackSerial, 1 ) { Layer = Layer.Backpack };
Engine.Player.SetLayer( Layer.Backpack, backpack.Serial );
Engine.Items.Add( backpack );
Assert.IsTrue( Engine.Player.Backpack.Serial > 0 );
ContainerContentsPacket cc =
new ContainerContentsPacket( new ItemCollection( backpackSerial ) { new Item( itemSerial ) } );
PacketHandler handler = IncomingPacketHandlers.GetHandler( 0x3C );
Assert.IsNotNull( handler );
byte[] packet = cc.ToArray();
handler.OnReceive( new PacketReader( packet, packet.Length, false ) );
Item item = Engine.Items.GetItem( backpackSerial );
Assert.IsNotNull( item.Container );
Assert.AreEqual( 1, item.Container.GetTotalItemCount() );
Assert.IsNotNull( Engine.Items.GetItem( itemSerial ) );
Assert.IsNotNull( item.Container.GetItem( itemSerial ) );
Engine.Items.Clear();
Engine.Player.SetLayer( Layer.Backpack, 0 );
}
[TestMethod]
public void WillSetPoisonedOnHealthbarColour()
{
Engine.Player = new PlayerMobile( 0x01 );
byte[] packet = { 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01 };
PacketHandler handler = IncomingPacketHandlers.GetHandler( 0x17 );
Assert.IsNotNull( handler );
handler.OnReceive( new PacketReader( packet, packet.Length, false ) );
Assert.IsTrue( Engine.Player.IsPoisoned );
packet = new byte[] { 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 };
handler.OnReceive( new PacketReader( packet, packet.Length, false ) );
Assert.IsFalse( Engine.Player.IsPoisoned );
Engine.Player = null;
}
[TestMethod]
public void WillSetYellowHitsOnHealthbarColour()
{
Engine.Player = new PlayerMobile( 0x01 );
byte[] packet = { 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x01 };
PacketHandler handler = IncomingPacketHandlers.GetHandler( 0x17 );
Assert.IsNotNull( handler );
handler.OnReceive( new PacketReader( packet, packet.Length, false ) );
Assert.IsTrue( Engine.Player.IsYellowHits );
packet = new byte[] { 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00 };
handler.OnReceive( new PacketReader( packet, packet.Length, false ) );
Assert.IsFalse( Engine.Player.IsYellowHits );
Engine.Player = null;
}
[TestMethod]
public void WillSetFrozenOnMobileStatus()
{
Engine.Player = new PlayerMobile( 0x01 );
Assert.IsFalse( Engine.Player.IsFrozen );
byte[] packet =
{
0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x90, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00
};
PacketHandler handler = IncomingPacketHandlers.GetHandler( 0x20 );
Assert.IsNotNull( handler );
handler.OnReceive( new PacketReader( packet, packet.Length, true ) );
Assert.IsTrue( Engine.Player.IsFrozen );
Engine.Player = null;
}
}
}