2
0

ExtensionsTest_IsEqualTo_ByteArray.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using System;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. using Renci.SshNet.Common;
  4. namespace Renci.SshNet.Tests.Classes.Common
  5. {
  6. [TestClass]
  7. public class ExtensionsTest_IsEqualTo_ByteArray
  8. {
  9. private Random _random;
  10. [TestInitialize]
  11. public void Init()
  12. {
  13. _random = new Random();
  14. }
  15. [TestMethod]
  16. public void ShouldThrowArgumentNullExceptionWhenLeftIsNull()
  17. {
  18. const byte[] left = null;
  19. var right = CreateBuffer(1);
  20. try
  21. {
  22. _ = Extensions.IsEqualTo(left, right);
  23. Assert.Fail();
  24. }
  25. catch (ArgumentNullException ex)
  26. {
  27. Assert.IsNull(ex.InnerException);
  28. Assert.AreEqual("left", ex.ParamName);
  29. }
  30. }
  31. [TestMethod]
  32. public void ShouldThrowArgumentNullExceptionWhenRightIsNull()
  33. {
  34. var left = CreateBuffer(1);
  35. const byte[] right = null;
  36. try
  37. {
  38. _ = Extensions.IsEqualTo(left, right);
  39. Assert.Fail();
  40. }
  41. catch (ArgumentNullException ex)
  42. {
  43. Assert.IsNull(ex.InnerException);
  44. Assert.AreEqual("right", ex.ParamName);
  45. }
  46. }
  47. [TestMethod]
  48. public void ShouldThrowArgumentNullExceptionWhenLeftAndRightAreNull()
  49. {
  50. const byte[] left = null;
  51. const byte[] right = null;
  52. try
  53. {
  54. _ = Extensions.IsEqualTo(left, right);
  55. Assert.Fail();
  56. }
  57. catch (ArgumentNullException ex)
  58. {
  59. Assert.IsNull(ex.InnerException);
  60. Assert.AreEqual("left", ex.ParamName);
  61. }
  62. }
  63. [TestMethod]
  64. public void ShouldReturnFalseWhenLeftIsNotEqualToRight()
  65. {
  66. Assert.IsFalse(Extensions.IsEqualTo(new byte[] { 0x0a }, new byte[] { 0x0a, 0x0d }));
  67. Assert.IsFalse(Extensions.IsEqualTo(new byte[] { 0x0a, 0x0d }, new byte[] { 0x0a }));
  68. Assert.IsFalse(Extensions.IsEqualTo(new byte[0], new byte[] { 0x0a }));
  69. Assert.IsFalse(Extensions.IsEqualTo(new byte[] { 0x0a, 0x0d }, new byte[0]));
  70. }
  71. [TestMethod]
  72. public void ShouldReturnTrueWhenLeftIsEqualToRight()
  73. {
  74. Assert.IsTrue(Extensions.IsEqualTo(new byte[] { 0x0a, 0x0d }, new byte[] { 0x0a, 0x0d }));
  75. Assert.IsTrue(Extensions.IsEqualTo(new byte[0], new byte[0]));
  76. }
  77. [TestMethod]
  78. public void ShouldReturnTrueWhenLeftIsSameAsRight()
  79. {
  80. var left = new byte[] { 0x0d, 0x0d };
  81. Assert.IsTrue(Extensions.IsEqualTo(left, left));
  82. }
  83. private byte[] CreateBuffer(int length)
  84. {
  85. var buffer = new byte[length];
  86. _random.NextBytes(buffer);
  87. return buffer;
  88. }
  89. }
  90. }