aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers.Test/MessageStreamIteratorTest.cs
blob: 0cccd4a76e285b5fa1f5f7d7ac187effa580d398 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System.Collections;
using System.Collections.Generic;
using System.IO;
using NUnit.Framework;
using NestedMessage = Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage;

namespace Google.ProtocolBuffers {
  [TestFixture]
  public class MessageStreamIteratorTest {

    [Test]
    public void ThreeMessagesInMemory() {
      MemoryStream stream = new MemoryStream(MessageStreamWriterTest.ThreeMessageData);      
      IEnumerable<NestedMessage> iterator = MessageStreamIterator<NestedMessage>.FromStreamProvider(() => stream);
      List<NestedMessage> messages = new List<NestedMessage>(iterator);

      Assert.AreEqual(3, messages.Count);
      Assert.AreEqual(5, messages[0].Bb);
      Assert.AreEqual(1500, messages[1].Bb);
      Assert.IsFalse(messages[2].HasBb);
    }
  }
}