PipeStreamTest.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Microsoft.VisualStudio.TestTools.UnitTesting;
  6. using Renci.SshNet.Common;
  7. namespace Renci.SshNet.Tests.Common
  8. {
  9. [TestClass]
  10. public class PipeStreamTest
  11. {
  12. [TestMethod]
  13. [TestCategory("PipeStream")]
  14. public void Test_PipeStream_Write_Read_Buffer()
  15. {
  16. var testBuffer = new byte[1024];
  17. new Random().NextBytes(testBuffer);
  18. var outputBuffer = new byte[1024];
  19. using (var stream = new PipeStream())
  20. {
  21. stream.Write(testBuffer, 0, testBuffer.Length);
  22. Assert.AreEqual(stream.Length, testBuffer.Length);
  23. stream.Read(outputBuffer, 0, outputBuffer.Length);
  24. Assert.AreEqual(stream.Length, 0);
  25. Assert.IsTrue(testBuffer.IsEqualTo(outputBuffer));
  26. }
  27. }
  28. [TestMethod]
  29. [TestCategory("PipeStream")]
  30. public void Test_PipeStream_Write_Read_Byte()
  31. {
  32. var testBuffer = new byte[1024];
  33. new Random().NextBytes(testBuffer);
  34. var outputBuffer = new byte[1024];
  35. using (var stream = new PipeStream())
  36. {
  37. stream.Write(testBuffer, 0, testBuffer.Length);
  38. Assert.AreEqual(stream.Length, testBuffer.Length);
  39. stream.ReadByte();
  40. Assert.AreEqual(stream.Length, testBuffer.Length - 1);
  41. stream.ReadByte();
  42. Assert.AreEqual(stream.Length, testBuffer.Length - 2);
  43. }
  44. }
  45. }
  46. }