public void TestReadAvroAsCollection() { const string Schema = @"{""type"":""array"", ""items"":""long""}"; var stream = new MemoryStream(); using (var writer = AvroContainer.CreateGenericWriter(Schema, stream, /*leave open*/ true, Codec.Null)) using (var seqWriter = new SequentialWriter <object>(writer, 24)) { // Serialize the data to stream using the sequential writer seqWriter.Write(new[] { 6L, 8 }); seqWriter.Flush(); } stream.Flush(); stream.Seek(0, SeekOrigin.Begin); var reader = new ODataAvroCollectionReader(this.CreateODataInputContext(stream)); Assert.AreEqual(ODataCollectionReaderState.Start, reader.State); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.CollectionStart, reader.State); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.Value, reader.State); Assert.AreEqual(6L, (long)reader.Item); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.Value, reader.State); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.CollectionEnd, reader.State); Assert.IsFalse(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.Completed, reader.State); }
public void TestReadAvroAsCollection() { const string Schema = @"{""type"":""array"", ""items"":""long""}"; var stream = new MemoryStream(); using (var writer = AvroContainer.CreateGenericWriter(Schema, stream, /*leave open*/true, Codec.Null)) using (var seqWriter = new SequentialWriter<object>(writer, 24)) { // Serialize the data to stream using the sequential writer seqWriter.Write(new[] { 6L, 8 }); seqWriter.Flush(); } stream.Flush(); stream.Seek(0, SeekOrigin.Begin); var reader = new ODataAvroCollectionReader(this.CreateODataInputContext(stream)); Assert.AreEqual(ODataCollectionReaderState.Start, reader.State); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.CollectionStart, reader.State); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.Value, reader.State); Assert.AreEqual(6L, (long)reader.Item); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.Value, reader.State); Assert.IsTrue(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.CollectionEnd, reader.State); Assert.IsFalse(reader.Read()); Assert.AreEqual(ODataCollectionReaderState.Completed, reader.State); }