Files
SabreTools.IO/SabreTools.IO.Extensions.Test/ByteArrayExtensionsTests.cs
2026-03-22 15:22:46 -04:00

95 lines
2.2 KiB
C#

using Xunit;
namespace SabreTools.IO.Extensions.Test
{
public class ByteArrayExtensionsTests
{
#region AlignToBoundary
[Fact]
public void AlignToBoundary_Null_False()
{
byte[]? arr = null;
int offset = 0;
byte alignment = 4;
bool actual = arr.AlignToBoundary(ref offset, alignment);
Assert.False(actual);
}
[Fact]
public void AlignToBoundary_Empty_False()
{
byte[]? arr = [];
int offset = 0;
byte alignment = 4;
bool actual = arr.AlignToBoundary(ref offset, alignment);
Assert.False(actual);
}
[Fact]
public void AlignToBoundary_EOF_False()
{
byte[]? arr = [0x01, 0x02];
int offset = 1;
byte alignment = 4;
bool actual = arr.AlignToBoundary(ref offset, alignment);
Assert.False(actual);
}
[Fact]
public void AlignToBoundary_TooShort_False()
{
byte[]? arr = [0x01, 0x02];
int offset = 1;
byte alignment = 4;
bool actual = arr.AlignToBoundary(ref offset, alignment);
Assert.False(actual);
}
[Fact]
public void AlignToBoundary_CanAlign_True()
{
byte[]? arr = [0x01, 0x02, 0x03, 0x04, 0x05];
int offset = 1;
byte alignment = 4;
bool actual = arr.AlignToBoundary(ref offset, alignment);
Assert.True(actual);
}
#endregion
#region IsNullOrEmpty
[Fact]
public void IsNullOrEmpty_Null_True()
{
byte[]? arr = null;
bool actual = arr.IsNullOrEmpty();
Assert.True(actual);
}
[Fact]
public void IsNullOrEmpty_Empty_True()
{
byte[]? arr = [];
bool actual = arr.IsNullOrEmpty();
Assert.True(actual);
}
[Fact]
public void IsNullOrEmpty_NonEmpty_False()
{
byte[]? arr = [0x01];
bool actual = arr.IsNullOrEmpty();
Assert.False(actual);
}
#endregion
}
}