public void CannotDecreaseBeyondPosition()
 {
     using (var stream = new RingMemoryStream(SmallBufferSize))
     {
         stream.WriteByte(0);
         stream.SetLength(0);
     }
 }
Esempio n. 2
0
        public void CapacityRounded()
        {
            using (var stream = new RingMemoryStream(SmallBufferSize))
            {
                stream.SetLength(1);

                Assert.AreEqual(1, stream.Length);
                Assert.AreEqual(SmallBufferSize, stream.Capacity);
            }
        }
Esempio n. 3
0
        public void VerifyDisposed()
        {
            var stream = new RingMemoryStream(SmallBufferSize);

            stream.Dispose();

            stream.SetLength(0);
        }
Esempio n. 4
0
        public void Set_large_length()
        {
            using (var stream = new RingMemoryStream(SmallBufferSize))
            {
                stream.SetLength(SmallBufferSize * 100);

                Assert.AreEqual(SmallBufferSize * 100, stream.Capacity);
                Assert.AreEqual(0, stream.Position);
                Assert.AreEqual(0, stream.Head);
                Assert.AreEqual(SmallBufferSize * 100, stream.Length);
            }
        }
Esempio n. 5
0
        public void ManualWrite()
        {
            using (var stream = new RingMemoryStream(SmallBufferSize))
            {
                stream.Capacity++;

                var pages = stream.GetPages(0, stream.Capacity);

                Array.Copy(TestData, pages[0].Buffer, SmallBufferSize);

                stream.SetLength(SmallBufferSize);

                var readBuffer = new byte[SmallBufferSize];

                stream.Read(readBuffer, 0, readBuffer.Length);

                var validateBuffer = new byte[SmallBufferSize];

                Array.Copy(TestData, validateBuffer, SmallBufferSize);

                Assert.AreEqual(validateBuffer, readBuffer);
            }
        }
Esempio n. 6
0
        public void HeadWithOneMoreBlockSize()
        {
            using (var stream = new RingMemoryStream(SmallBufferSize))
            {
                stream.Capacity++;
                stream.Capacity++;

                stream.SetLength(SmallBufferSize + 1);
                stream.Position = stream.Length;
                stream.Head = stream.Length;

                Assert.AreEqual(1, stream.PagesAllocated);
            }
        }
Esempio n. 7
0
        public void HeadWithBlockSizeIncrement()
        {
            using (var stream = new RingMemoryStream(SmallBufferSize))
            {
                stream.Capacity++;

                stream.SetLength(stream.Capacity);
                stream.Position = stream.Length;
                stream.Head = stream.Length;

                Assert.AreEqual(0, stream.PagesAllocated);
            }
        }