Esempio n. 1
0
        private void TestRandomSeekOperation(AlignedStreamBase alignedStream, Stream dataStream, long offset, SeekOrigin origin)
        {
            switch (origin)
            {
                case SeekOrigin.Begin:
                    break;
                case SeekOrigin.Current:
                    offset -= dataStream.Position;
                    break;
                case SeekOrigin.End:
                    offset -= dataStream.Length;
                    break;
                default:
                    Assert.Fail("Invalid seek origin");
                    break;
            }

            long dataPosition = dataStream.Seek(offset, origin);
            long alignedPosition = alignedStream.Seek(offset, origin);

            Assert.AreEqual(alignedPosition, dataPosition, "Position mismatch");
            Assert.AreEqual(alignedStream.Position, dataStream.Position, "Position mismatch");
            Assert.AreEqual(alignedStream.Length, dataStream.Length, "Length mismatch");
        }
Esempio n. 2
0
 private void TestRandomSeekOperation(AlignedStreamBase alignedStream, Stream dataStream, int offsetUpperBound)
 {
     int offset = Random.Next(offsetUpperBound);
     if (0 == Random.Next(2))
     {
         offset -= (offset % alignedStream.AlignmentSize);
     }
     SeekOrigin origin = (SeekOrigin)Random.Next(3);
     this.TestRandomSeekOperation(alignedStream, dataStream, offset, origin);
 }