public virtual void TestInCoreLimit_SwitchOnCopy() { TemporaryBuffer b = new TemporaryBuffer.LocalFile(); byte[] test = new TestRng(Sharpen.Extensions.GetTestName()).NextBytes(TemporaryBuffer .DEFAULT_IN_CORE_LIMIT * 2); try { ByteArrayInputStream @in = new ByteArrayInputStream(test, TemporaryBuffer.DEFAULT_IN_CORE_LIMIT , test.Length - TemporaryBuffer.DEFAULT_IN_CORE_LIMIT); b.Write(test, 0, TemporaryBuffer.DEFAULT_IN_CORE_LIMIT); b.Copy(@in); b.Close(); NUnit.Framework.Assert.AreEqual(test.Length, b.Length()); { byte[] r = b.ToByteArray(); NUnit.Framework.Assert.IsNotNull(r); NUnit.Framework.Assert.AreEqual(test.Length, r.Length); NUnit.Framework.Assert.IsTrue(Arrays.Equals(test, r)); } { ByteArrayOutputStream o = new ByteArrayOutputStream(); b.WriteTo(o, null); o.Close(); byte[] r = o.ToByteArray(); NUnit.Framework.Assert.AreEqual(test.Length, r.Length); NUnit.Framework.Assert.IsTrue(Arrays.Equals(test, r)); } } finally { b.Destroy(); } }
public virtual void TestOneBlockAndHalf_Copy() { TemporaryBuffer b = new TemporaryBuffer.LocalFile(); byte[] test = new TestRng(Sharpen.Extensions.GetTestName()).NextBytes(TemporaryBuffer.Block .SZ * 3 / 2); try { ByteArrayInputStream @in = new ByteArrayInputStream(test); b.Write(@in.Read()); b.Copy(@in); b.Close(); NUnit.Framework.Assert.AreEqual(test.Length, b.Length()); { byte[] r = b.ToByteArray(); NUnit.Framework.Assert.IsNotNull(r); NUnit.Framework.Assert.AreEqual(test.Length, r.Length); NUnit.Framework.Assert.IsTrue(Arrays.Equals(test, r)); } { ByteArrayOutputStream o = new ByteArrayOutputStream(); b.WriteTo(o, null); o.Close(); byte[] r = o.ToByteArray(); NUnit.Framework.Assert.AreEqual(test.Length, r.Length); NUnit.Framework.Assert.IsTrue(Arrays.Equals(test, r)); } } finally { b.Destroy(); } }
/// <exception cref="System.IO.IOException"></exception> private static byte[] ReadFully(InputStream @is) { TemporaryBuffer b = new TemporaryBuffer.LocalFile(); try { b.Copy(@is); b.Close(); return b.ToByteArray(); } finally { b.Destroy(); } }