2
0

ExtensionsTest_IsEqualTo_ByteArray.cs 3.0 KB

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