public void TestReadWrite() { using (var stream = new MemoryStream()) using (var encoder = new BinaryEncoder(stream)) using (var decoder = new BinaryDecoder(stream)) { _specificWriter.Write(encoder, _writeValue); var expectedPosition = stream.Position; stream.Seek(0, SeekOrigin.Begin); var actualValue = _specificReader.Read(decoder); Assert.AreEqual(_readValue, actualValue); stream.Seek(0, SeekOrigin.Begin); actualValue = _specificReader.Read(decoder, ref actualValue); Assert.AreEqual(_readValue, actualValue); stream.Seek(0, SeekOrigin.Begin); _specificReader.Skip(decoder); Assert.AreEqual(stream.Position, expectedPosition); } }
public void EnumGenericTest() { var enumSchema = AvroParser.ReadSchema <EnumSchema>(@"{""name"":""Avro.Test.Generic.TestEnum"",""type"":""enum"",""symbols"":[""A"",""B"",""C""]}"); var writer = new DatumWriter <GenericEnum>(enumSchema); var reader = new DatumReader <GenericEnum>(enumSchema, enumSchema); var expectedValue = new GenericEnum(enumSchema, "B"); using (var stream = new MemoryStream()) using (var encoder = new BinaryEncoder(stream)) using (var decoder = new BinaryDecoder(stream)) { writer.Write(encoder, expectedValue); stream.Seek(0, SeekOrigin.Begin); var actualValue = reader.Read(decoder); Assert.AreEqual(expectedValue, actualValue); var expectedPosition = stream.Position; stream.Seek(0, SeekOrigin.Begin); reader.Skip(decoder); Assert.AreEqual(expectedPosition, stream.Position); } }