public void TestBigWrite () { PipedInputStream pin = new PipedInputStream (); PipedOutputStream pout = new PipedOutputStream (pin); Random r = new Random (0); byte[] data = new byte [PipedInputStream.PIPE_SIZE * 3]; r.NextBytes (data); ThreadPool.QueueUserWorkItem (delegate { pout.Write (data); pout.Close (); }); int n = 0; byte[] buffer = new byte [100]; int nr; while ((nr = pin.Read (buffer)) != -1) { for (int i=0; i < nr; i++) Assert.AreEqual (buffer[i], data[n++], "Position " + n); } }