public void TestOnRead() { var context = new InterruptContext(); var stream = new OnReadTestStream(new MemoryStream(new byte[] {0x00, 0x01, 0x02, 0x03}), context); var buffer = new byte[] {0x00, 0x00, 0x00, 0x00}; Assert.AreEqual(2, stream.Read(buffer, 1, 2)); Assert.AreEqual("2,00-01", context.Context); Console.WriteLine(BitConverter.ToString(buffer)); Assert.AreEqual(new byte[] {0x00, 0xff, 0xff, 0x00}, buffer); }
public void TestOnWriting() { var context = new InterruptContext(); var stream = new OnWritingTestStream(new MemoryStream(), context); stream.Write(new byte[] {0x00, 0x01, 0x02, 0x03}, 1, 2); Assert.AreEqual("01-02", context.Context); stream.Close(); Assert.AreEqual(new byte[] {0xff, 0xff}, (stream.InnerStream as MemoryStream).ToArray()); }
public OnWritingTestStream(Stream stream, InterruptContext context) : base(stream) { this.context = context; }