public virtual void SkipStreamTestMethod(byte[] serialized) { using (var ms = new MemoryStream(serialized)) using (var binaryReader = new BinaryReaderBase128(input: ms)) { binaryReader.SkipBase128Value(); Assert.AreEqual(expected: serialized.Length, actual: binaryReader.BaseStream.Position); } }
public virtual void ReadStreamOverflowTestMethod(byte[] serialized) { using (var ms = new MemoryStream(serialized)) using (var binaryReader = new BinaryReaderBase128(input: ms)) { Assert.ThrowsException <OverflowException>(() => ReadStream(binaryReader: binaryReader)); //Should set Position after whole overflowed value Assert.AreEqual(expected: serialized.Length, actual: binaryReader.BaseStream.Position); } }
public virtual void ReadStreamEndOfStreamTestMethod(T value, byte[] serialized) { byte[] buf = new byte[serialized.Length - 1]; serialized.AsSpan(0, buf.Length).CopyTo(buf); using (var ms = new MemoryStream(buf)) using (var binaryReader = new BinaryReaderBase128(input: ms)) { Assert.ThrowsException <EndOfStreamException>(() => ReadStream(binaryReader: binaryReader)); Assert.AreEqual(expected: buf.Length, actual: binaryReader.BaseStream.Position); } }
public virtual void ReadStreamTestMethod(T value, byte[] serialized) { T readValue; using (var ms = new MemoryStream(serialized)) using (var binaryReader = new BinaryReaderBase128(input: ms)) { readValue = ReadStream(binaryReader: binaryReader); Assert.AreEqual(expected: serialized.Length, actual: binaryReader.BaseStream.Position); } Assert.AreEqual(expected: value, actual: readValue); }
public virtual void SkipStreamLongerStreamTestMethod(byte[] serialized) { byte[] buf = new byte[serialized.Length + 1]; serialized.AsSpan().CopyTo(buf); using (var ms = new MemoryStream(buf)) using (var binaryReader = new BinaryReaderBase128(input: ms)) { binaryReader.SkipBase128Value(); Assert.AreEqual(expected: serialized.Length, actual: binaryReader.BaseStream.Position); } }
public virtual void ReadStreamEndOfStreamOverflowTestMethod(byte[] serialized) { byte[] buf = new byte[serialized.Length - 1]; serialized.AsSpan(0, buf.Length).CopyTo(buf); using (var ms = new MemoryStream(buf)) using (var binaryReader = new BinaryReaderBase128(input: ms)) { Assert.ThrowsException <EndOfStreamException>(() => ReadStream(binaryReader: binaryReader)); //Should set Position after whole overflowed value but reached end of stream Assert.AreEqual(expected: buf.Length, actual: binaryReader.BaseStream.Position); } }
public virtual void ReadStreamLongerBufTestMethod(T value, byte[] serialized) { byte[] buf = new byte[serialized.Length + 1]; T readValue; serialized.AsSpan().CopyTo(buf); using (var ms = new MemoryStream(buf)) using (var binaryReader = new BinaryReaderBase128(input: ms)) { readValue = ReadStream(binaryReader: binaryReader); Assert.AreEqual(expected: serialized.Length, actual: binaryReader.BaseStream.Position); } Assert.AreEqual(expected: value, actual: readValue); }
protected override long ReadStream(BinaryReaderBase128 binaryReader) { return(binaryReader.ReadInt64Base128ZigZag()); }
protected override byte ReadStream(BinaryReaderBase128 binaryReader) { return(binaryReader.ReadUInt8Base128()); }
protected override ushort ReadStream(BinaryReaderBase128 binaryReader) { return(binaryReader.ReadUInt16Base128()); }
protected override short ReadStream(BinaryReaderBase128 binaryReader) { return(binaryReader.ReadInt16Base128ZigZag()); }
protected abstract T ReadStream(BinaryReaderBase128 binaryReader);
protected override uint ReadStream(BinaryReaderBase128 binaryReader) { return(binaryReader.ReadUInt32Base128()); }
protected override ulong ReadStream(BinaryReaderBase128 binaryReader) { return(binaryReader.ReadUInt64Base128()); }
protected override sbyte ReadStream(BinaryReaderBase128 binaryReader) { return(binaryReader.ReadInt8Base128ZigZag()); }