public virtual void ReadingByteArrayAfterFileReadingTest() { UriResolver uriResolver = new UriResolver(baseUri); Uri url = uriResolver.ResolveAgainstBaseUri("retrieveStyleSheetTest.css.dat"); // retrieveStyleSheetTest.css.dat size is 89 bytes Stream stream = new LimitedInputStream(UrlUtil.OpenStream(url), 100); // The user can call the reading methods as many times as he want, and if the // stream has been read, then should not throw an ReadingByteLimitException exception stream.Read(new byte[100]); stream.Read(new byte[1]); }
public virtual void ReadingByteArrayWithBigBufferTest() { UriResolver uriResolver = new UriResolver(baseUri); Uri url = uriResolver.ResolveAgainstBaseUri("retrieveStyleSheetTest.css.dat"); // retrieveStyleSheetTest.css.dat size is 89 bytes Stream stream = new LimitedInputStream(UrlUtil.OpenStream(url), 89); byte[] bytes = new byte[100]; NUnit.Framework.Assert.AreEqual(89, stream.Read(bytes)); byte[] tempBytes = (byte[])bytes.Clone(); NUnit.Framework.Assert.AreEqual(-1, stream.Read(bytes)); // Check that the array has not changed when we have read the entire LimitedInputStream NUnit.Framework.Assert.AreEqual(tempBytes, bytes); }
public virtual void ReadingEmptyByteArrayWithZeroLimitTest() { LimitedInputStream stream = new LimitedInputStream(new MemoryStream(new byte[0]), 0); byte[] bytes = new byte[100]; NUnit.Framework.Assert.AreEqual(-1, stream.Read(bytes)); }
public virtual void ReadingByteWithLimitOfOneLessThenFileSizeTest() { UriResolver uriResolver = new UriResolver(baseUri); Uri url = uriResolver.ResolveAgainstBaseUri("retrieveStyleSheetTest.css.dat"); // retrieveStyleSheetTest.css.dat size is 89 bytes Stream stream = new LimitedInputStream(UrlUtil.OpenStream(url), 88); for (int i = 0; i < 88; i++) { NUnit.Framework.Assert.AreNotEqual(-1, stream.Read()); } NUnit.Framework.Assert.That(() => { stream.Read(); } , NUnit.Framework.Throws.InstanceOf <ReadingByteLimitException>()) ; }
public virtual void ReadingByteArrayWithLimitOfOneLessThenFileSizeTest() { UriResolver uriResolver = new UriResolver(baseUri); Uri url = uriResolver.ResolveAgainstBaseUri("retrieveStyleSheetTest.css.dat"); // retrieveStyleSheetTest.css.dat size is 89 bytes Stream stream = new LimitedInputStream(UrlUtil.OpenStream(url), 88); byte[] bytes = new byte[100]; int numOfReadBytes = stream.Read(bytes); NUnit.Framework.Assert.AreEqual(88, numOfReadBytes); NUnit.Framework.Assert.AreEqual(10, bytes[87]); NUnit.Framework.Assert.AreEqual(0, bytes[88]); NUnit.Framework.Assert.That(() => { stream.Read(new byte[1]); } , NUnit.Framework.Throws.InstanceOf <ReadingByteLimitException>()) ; }
public virtual void ReadingByteWithZeroLimitTest() { LimitedInputStream stream = new LimitedInputStream(new MemoryStream(new byte[1]), 0); NUnit.Framework.Assert.That(() => { stream.Read(); } , NUnit.Framework.Throws.InstanceOf <ReadingByteLimitException>()) ; }
public virtual void ByteArrayOverwritingTest() { UriResolver uriResolver = new UriResolver(baseUri); Uri url = uriResolver.ResolveAgainstBaseUri("retrieveStyleSheetTest.css.dat"); // retrieveStyleSheetTest.css.dat size is 89 bytes Stream stream = new LimitedInputStream(UrlUtil.OpenStream(url), 90); byte[] bytes = new byte[100]; bytes[89] = 13; NUnit.Framework.Assert.AreEqual(89, stream.Read(bytes)); // Check that when calling the read(byte[]) method, as many bytes were copied into // the original array as were read, and not all bytes from the auxiliary array. NUnit.Framework.Assert.AreEqual(13, bytes[89]); }
public virtual void ReadingByteArrayWithSmallBufferTest() { UriResolver uriResolver = new UriResolver(baseUri); Uri url = uriResolver.ResolveAgainstBaseUri("retrieveStyleSheetTest.css.dat"); // retrieveStyleSheetTest.css.dat size is 89 bytes Stream stream = new LimitedInputStream(UrlUtil.OpenStream(url), 89); byte[] bytes = new byte[20]; MemoryStream output = new MemoryStream(); while (true) { int read = stream.Read(bytes); if (read < 1) { break; } output.Write(bytes, 0, read); } NUnit.Framework.Assert.AreEqual(89, output.Length); output.Dispose(); }