PipeStreamTest.cs 1.6 KB

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