Example #1
0
        public void ReadWriteStringAscii(string value)
        {
            _writer.WriteAscii(ElementId, value);

            var reader = StartRead();

            Assert.AreEqual(value, reader.ReadAscii());
        }
Example #2
0
        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());
        }