public void NoEventWatch() { using (var pipeServer = new AnonymousPipeServerStream(PipeDirection.In)) using (var pipeClient = new AnonymousPipeClientStream(PipeDirection.Out, pipeServer.ClientSafePipeHandle)) { var ps = new PackedStream(pipeServer, pipeClient); var data = new byte[] { 0, 1, 2 }; ps.Write(new MemoryStream(data)); } }
public void SimpleMessageTest() { var pipeServer = new AnonymousPipeServerStream(PipeDirection.In); var pipeClient = new AnonymousPipeClientStream(PipeDirection.Out, pipeServer.ClientSafePipeHandle); try { var ps = new PackedStream(pipeServer, pipeClient); var rdn = new Random(); var data = new byte[rdn.Next(10, 1024)]; byte[] nData = null; var mre = new ManualResetEvent(false); rdn.NextBytes(data); ps.DataReceived += (s, d) => { nData = d.MemoryStream.ToArray(); mre.Set(); }; ps.Write(new MemoryStream(data)); mre.WaitOne(); Assert.AreEqual(data.Length, nData.Length); for (var i = 0; i < data.Length; i++) { Assert.AreEqual(data[i], nData[i]); } } finally { pipeServer.Close(); pipeClient.Close(); } }