Outgoing Packet Tests (Pass #1) (#129)

This commit is contained in:
Kamron Batman 2020-05-04 01:34:51 -07:00 • committed by GitHub
parent 11227391d3
commit d9f417ee19
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 1084 additions and 381 deletions

View file

@ -0,0 +1,89 @@
using System;
using Server.Network;
using Xunit;
namespace Server.Tests.Network.Packets
{
public class ArrowPacketTests
{
[Fact]
public void TestCancelArrow()
{
Span<byte> data = new CancelArrow().Compile();
Span<byte> expectedData = stackalloc byte[] {
0xBA, // Packet
0x00, // Command
0xFF, 0xFF, // X
0xFF, 0xFF // Y
};
AssertThat.Equal(data, expectedData);
}
[Theory]
[InlineData(0, 0)]
[InlineData(100, 10)]
[InlineData(100000, 100000)]
public void TestSetArrow(int x, int y)
{
Span<byte> data = new SetArrow(x, y).Compile();
Span<byte> expectedData = stackalloc byte[] {
0xBA, // Packet
0x01, // Command
0x00, 0x00, // X
0x00, 0x00 // Y
};
((ushort)x).CopyTo(expectedData.Slice(2, 2));
((ushort)y).CopyTo(expectedData.Slice(4, 2));
AssertThat.Equal(data, expectedData);
}
[Theory]
[InlineData(0, 0)]
[InlineData(100, 10)]
[InlineData(100000, 100000)]
public void TestCancelArrowHS(int x, int y)
{
Span<byte> data = new CancelArrowHS(x, y, 0x1).Compile();
Span<byte> expectedData = stackalloc byte[] {
0xBA, // Packet
0x00, // Command
0x00, 0x00, // X
0x00, 0x00, // Y
0x00, 0x00, 0x00, 0x01 // Serial
};
((ushort)x).CopyTo(expectedData.Slice(2, 2));
((ushort)y).CopyTo(expectedData.Slice(4, 2));
AssertThat.Equal(data, expectedData);
}
[Theory]
[InlineData(0, 0)]
[InlineData(100, 10)]
[InlineData(100000, 100000)]
public void TestSetArrowHS(int x, int y)
{
Span<byte> data = new SetArrowHS(x, y, 0x1).Compile();
Span<byte> expectedData = stackalloc byte[] {
0xBA, // Packet
0x01, // Command
0x00, 0x00, // X
0x00, 0x00, // Y
0x00, 0x00, 0x00, 0x01 // Serial
};
((ushort)x).CopyTo(expectedData.Slice(2, 2));
((ushort)y).CopyTo(expectedData.Slice(4, 2));
AssertThat.Equal(data, expectedData);
}
}
}