using System; using System.Buffers.Binary; using AcDream.Core.Net.Messages; using Xunit; namespace AcDream.Core.Net.Tests.Messages; public sealed class AllegianceRequestsTests { [Fact] public void BuildSwear_EncodesOpcodeAndTarget() { byte[] body = AllegianceRequests.BuildSwear(gameActionSequence: 3, patronGuid: 0xAAAAu); Assert.Equal(16, body.Length); Assert.Equal(AllegianceRequests.GameActionEnvelope, BinaryPrimitives.ReadUInt32LittleEndian(body)); Assert.Equal(3u, BinaryPrimitives.ReadUInt32LittleEndian(body.AsSpan(4))); Assert.Equal(AllegianceRequests.SwearOpcode, BinaryPrimitives.ReadUInt32LittleEndian(body.AsSpan(8))); Assert.Equal(0xAAAAu, BinaryPrimitives.ReadUInt32LittleEndian(body.AsSpan(12))); } [Fact] public void BuildBreak_EncodesOpcodeAndTarget() { byte[] body = AllegianceRequests.BuildBreak(gameActionSequence: 5, targetGuid: 0xBBBBu); Assert.Equal(AllegianceRequests.BreakOpcode, BinaryPrimitives.ReadUInt32LittleEndian(body.AsSpan(8))); Assert.Equal(0xBBBBu, BinaryPrimitives.ReadUInt32LittleEndian(body.AsSpan(12))); } }