public void ReadWriteStringAscii(string value) { _writer.WriteAscii(ElementId, value); var reader = StartRead(); Assert.AreEqual(value, reader.ReadAscii()); }
public void ReadWriteContainer() { var innerdata = new MemoryStream(); var container = new EbmlWriter(innerdata); container.WriteAscii(VInt.MakeId(1), "Hello"); container.Write(VInt.MakeId(2), 12345); container.Write(VInt.MakeId(3), 123.45); _writer.Write(VInt.MakeId(5), innerdata.ToArray()); _writer.WriteAscii(VInt.MakeId(6), "end"); _stream.Position = 0; var reader = new EbmlReader(_stream); Assert.IsTrue(reader.ReadNext()); Assert.AreEqual(VInt.MakeId(5), reader.ElementId); reader.EnterContainer(); // reading inner data AssertRead(reader, 1, "Hello", r => r.ReadAscii()); AssertRead(reader, 2, 12345, r => r.ReadInt()); AssertRead(reader, 3, 123.45, r => r.ReadFloat()); reader.LeaveContainer(); // back to main stream AssertRead(reader, 6, "end", r => r.ReadAscii()); }