Files
ssh.net/test/Renci.SshNet.Tests/Classes/Common/ExtensionsTest_IsEqualTo_ByteArray.cs
mus65 c0a353a4de Cleanup formatting and style and enforce it in CI (#1380)
* Preparation to enforce formatting and style in CI

- enabled IDE0055 to enforce formatting on build
- disabled SA1137 and SA1025 because they are already
  covered by IDE0055
- disabled SA1021 because it conflicts with csharp_space_after_cast

* Cleanup formatting and style on codebase

This commit has no manual changes, it is the result
of running "dotnet format whitespace" and "dotnet format style"

* new formatting fixes after merge

* appveyor: set git autocrlf

as suggested by sharwell to hopefully fix Windows CI.

* use autocrlf input

to hopefully fix Linux tests

* fix formatting

* use autocrlf input for Linux only

* set csharp_space_after_cast to false

* Revert SA1021 suppression

---------

Co-authored-by: Robert Hague <rh@johnstreetcapital.com>
2024-05-17 22:34:27 +02:00

106 lines
3.0 KiB
C#

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Renci.SshNet.Common;
namespace Renci.SshNet.Tests.Classes.Common
{
[TestClass]
public class ExtensionsTest_IsEqualTo_ByteArray
{
private Random _random;
[TestInitialize]
public void Init()
{
_random = new Random();
}
[TestMethod]
public void ShouldThrowArgumentNullExceptionWhenLeftIsNull()
{
const byte[] left = null;
var right = CreateBuffer(1);
try
{
_ = Extensions.IsEqualTo(left, right);
Assert.Fail();
}
catch (ArgumentNullException ex)
{
Assert.IsNull(ex.InnerException);
Assert.AreEqual("left", ex.ParamName);
}
}
[TestMethod]
public void ShouldThrowArgumentNullExceptionWhenRightIsNull()
{
var left = CreateBuffer(1);
const byte[] right = null;
try
{
_ = Extensions.IsEqualTo(left, right);
Assert.Fail();
}
catch (ArgumentNullException ex)
{
Assert.IsNull(ex.InnerException);
Assert.AreEqual("right", ex.ParamName);
}
}
[TestMethod]
public void ShouldThrowArgumentNullExceptionWhenLeftAndRightAreNull()
{
const byte[] left = null;
const byte[] right = null;
try
{
_ = Extensions.IsEqualTo(left, right);
Assert.Fail();
}
catch (ArgumentNullException ex)
{
Assert.IsNull(ex.InnerException);
Assert.AreEqual("left", ex.ParamName);
}
}
[TestMethod]
public void ShouldReturnFalseWhenLeftIsNotEqualToRight()
{
Assert.IsFalse(Extensions.IsEqualTo(new byte[] { 0x0a }, new byte[] { 0x0a, 0x0d }));
Assert.IsFalse(Extensions.IsEqualTo(new byte[] { 0x0a, 0x0d }, new byte[] { 0x0a }));
Assert.IsFalse(Extensions.IsEqualTo(new byte[0], new byte[] { 0x0a }));
Assert.IsFalse(Extensions.IsEqualTo(new byte[] { 0x0a, 0x0d }, new byte[0]));
}
[TestMethod]
public void ShouldReturnTrueWhenLeftIsEqualToRight()
{
Assert.IsTrue(Extensions.IsEqualTo(new byte[] { 0x0a, 0x0d }, new byte[] { 0x0a, 0x0d }));
Assert.IsTrue(Extensions.IsEqualTo(new byte[0], new byte[0]));
}
[TestMethod]
public void ShouldReturnTrueWhenLeftIsSameAsRight()
{
var left = new byte[] { 0x0d, 0x0d };
Assert.IsTrue(Extensions.IsEqualTo(left, left));
}
private byte[] CreateBuffer(int length)
{
var buffer = new byte[length];
_random.NextBytes(buffer);
return buffer;
}
}
}