public void TestGetPosition() { using (MemoryStream memoryStream = new MemoryStream()) { memoryStream.SetLength(123); PartialStream partialStream = new PartialStream(memoryStream, 23, 100); Assert.AreEqual(0, partialStream.Position); byte[] test = new byte[10]; int bytesRead = partialStream.Read(test, 0, 10); Assert.AreEqual(10, bytesRead); Assert.AreEqual(10, partialStream.Position); bytesRead = partialStream.Read(test, 0, 10); Assert.AreEqual(10, bytesRead); Assert.AreEqual(20, partialStream.Position); } }
public void TestThrowOnReadFromUnreadableStream() { using (MemoryStream memoryStream = new MemoryStream()) { TestStream testStream = new TestStream(memoryStream, false, true, true); PartialStream partialStream = new PartialStream(testStream, 0, 0); byte[] test = new byte[10]; Assert.Throws <NotSupportedException>( delegate() { Console.WriteLine(partialStream.Read(test, 0, 10)); } ); } }
public void TestReadFromPartialStream() { using (MemoryStream memoryStream = new MemoryStream()) { memoryStream.SetLength(123); memoryStream.Position = 100; memoryStream.Write(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, 0, 10); PartialStream partialStream = new PartialStream(memoryStream, 95, 10); byte[] buffer = new byte[15]; int bytesRead = partialStream.Read(buffer, 0, 15); Assert.AreEqual(10, bytesRead); Assert.AreEqual( new byte[] { 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0 }, buffer ); } }
public void TestReadFromPartialStream() { using(MemoryStream memoryStream = new MemoryStream()) { memoryStream.SetLength(123); memoryStream.Position = 100; memoryStream.Write(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, 0, 10); PartialStream partialStream = new PartialStream(memoryStream, 95, 10); byte[] buffer = new byte[15]; int bytesRead = partialStream.Read(buffer, 0, 15); Assert.AreEqual(10, bytesRead); Assert.AreEqual( new byte[] { 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0 }, buffer ); } }
public void TestThrowOnReadFromUnreadableStream() { using(MemoryStream memoryStream = new MemoryStream()) { TestStream testStream = new TestStream(memoryStream, false, true, true); PartialStream partialStream = new PartialStream(testStream, 0, 0); byte[] test = new byte[10]; Assert.Throws<NotSupportedException>( delegate() { Console.WriteLine(partialStream.Read(test, 0, 10)); } ); } }
public void TestGetPosition() { using(MemoryStream memoryStream = new MemoryStream()) { memoryStream.SetLength(123); PartialStream partialStream = new PartialStream(memoryStream, 23, 100); Assert.AreEqual(0, partialStream.Position); byte[] test = new byte[10]; int bytesRead = partialStream.Read(test, 0, 10); Assert.AreEqual(10, bytesRead); Assert.AreEqual(10, partialStream.Position); bytesRead = partialStream.Read(test, 0, 10); Assert.AreEqual(10, bytesRead); Assert.AreEqual(20, partialStream.Position); } }