/// <summary> /// Parses the given bytes using WriteRawLittleEndian32() and checks /// that the result matches the given value. /// </summary> private static void AssertWriteLittleEndian32(byte[] data, uint value) { { var rawOutput = new MemoryStream(); var output = new CodedOutputStream(rawOutput); output.WriteRawLittleEndian32(value); output.Flush(); Assert.AreEqual(data, rawOutput.ToArray()); var bufferWriter = new TestArrayBufferWriter <byte>(); WriteContext.Initialize(bufferWriter, out WriteContext ctx); ctx.WriteFixed32(value); ctx.Flush(); Assert.AreEqual(data, bufferWriter.WrittenSpan.ToArray()); } // Try different buffer sizes. for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2) { var rawOutput = new MemoryStream(); var output = new CodedOutputStream(rawOutput, bufferSize); output.WriteRawLittleEndian32(value); output.Flush(); Assert.AreEqual(data, rawOutput.ToArray()); var bufferWriter = new TestArrayBufferWriter <byte> { MaxGrowBy = bufferSize }; WriteContext.Initialize(bufferWriter, out WriteContext ctx); ctx.WriteFixed32(value); ctx.Flush(); Assert.AreEqual(data, bufferWriter.WrittenSpan.ToArray()); } }
/// <summary> /// Parses the given bytes using WriteRawLittleEndian32() and checks /// that the result matches the given value. /// </summary> private static void AssertWriteLittleEndian32(byte[] data, uint value) { MemoryStream rawOutput = new MemoryStream(); CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput); output.WriteRawLittleEndian32(value); output.Flush(); Assert.AreEqual(data, rawOutput.ToArray()); // Try different buffer sizes. for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2) { rawOutput = new MemoryStream(); output = CodedOutputStream.CreateInstance(rawOutput, bufferSize); output.WriteRawLittleEndian32(value); output.Flush(); Assert.AreEqual(data, rawOutput.ToArray()); } }
/// <summary> /// Parses the given bytes using WriteRawLittleEndian32() and checks /// that the result matches the given value. /// </summary> private static void AssertWriteLittleEndian32(byte[] data, uint value) { MemoryStream rawOutput = new MemoryStream(); CodedOutputStream output = new CodedOutputStream(rawOutput); output.WriteRawLittleEndian32(value); output.Flush(); Assert.AreEqual(data, rawOutput.ToArray()); // Try different buffer sizes. for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2) { rawOutput = new MemoryStream(); output = new CodedOutputStream(rawOutput, bufferSize); output.WriteRawLittleEndian32(value); output.Flush(); Assert.AreEqual(data, rawOutput.ToArray()); } }