using VoiceCat.Protocol; namespace VoiceCat.Tests; public class VoiceHeaderTests { [Fact] public void HeaderUsesBigEndianFieldsAndPreservesUnknownValues() { var header = new VoiceFrameHeader((MediaFrameType)255, (VoiceFrameFlags)128, 0x1234, 0x56789abc, 0x0123456789abcdef, 0xfedcba98); byte[] bytes = new byte[20]; header.Write(bytes); Assert.Equal("FF80123456789ABC0123456789ABCDEFFEDCBA98", Convert.ToHexString(bytes)); Assert.True(VoiceFrameHeader.TryRead(bytes, out var parsed)); Assert.Equal(header, parsed); Assert.False(VoiceFrameHeader.TryRead(bytes.AsSpan(0, 19), out _)); Assert.Throws(() => header.Write(new byte[19])); } }