public void FrameHeader_ReadWriteFrameHeader_SucceedOnNonEmptyExtendedHeader() { // Arrange byte[] extendedHeader = new byte[3] { 0, 1, 2 }; FrameHeader frameHeader = new FrameHeader(FrameType.MessageJSON, payloadSize: 20, extendedHeaderSize: 3, extendedHeader: extendedHeader); using (MemoryStream memoryStream = new MemoryStream()) using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream)) { // Action FrameHeader.WriteFrameHeader(frameHeader, binaryWriter); binaryWriter.Flush(); binaryWriter.Seek(0, SeekOrigin.Begin); FrameHeader parsedFrameHeader = FrameHeader.ReadFrameHeader(memoryStream); // Assert Assert.AreEqual(FrameType.MessageJSON, parsedFrameHeader.Type); Assert.AreEqual((ulong)20, parsedFrameHeader.PayloadSize); Assert.AreEqual((uint)3, parsedFrameHeader.ExtendedHeaderSize); CollectionAssert.AreEqual(frameHeader.ExtendedHeader, parsedFrameHeader.ExtendedHeader); } }