Exemple #1
0
        public void TestReadOnlyMemStream()
        {
            var mem = new CMemoryStream(m_buf2, 0, m_buf2.Length, true)
            {
                Position = 0
            };
            var reader = new BinaryReader(mem);
            var x      = reader.ReadInt32();

            mem.Seek(-2, SeekOrigin.Current);

            Assert.AreEqual(true, mem.CanRead, "Should be CanRead");
            Assert.AreEqual(false, mem.CanWrite, "Should not be CanWrite");
            Assert.AreEqual(true, mem.CanSeek, "Should be CanSeek");


            try
            {
                mem.SetLength(4);
                Assert.Fail("Should not be able to set the length of a read-only stream.");
            }
            catch (InvalidOperationException)
            {
                // all is well
            }

            try
            {
                mem.WriteByte(0);
                Assert.Fail("Should not be able to write to a readonly stream");
            }
            catch (InvalidOperationException)
            {
                // all is well
            }

            try
            {
                mem.SetBuffer(m_buf1);
                Assert.Fail("Should not be able to set the underlying buffer in a readonly CMemoryStream.");
            }
            catch (InvalidOperationException)
            {
                // all is well
            }
        }
Exemple #2
0
 public void TestInvalidSeek() => m_memStream.Seek(345, (SeekOrigin)234);