2024-11-25 15:14:50 -05:00
|
|
|
using Xunit;
|
|
|
|
|
|
2026-03-18 15:47:44 -04:00
|
|
|
namespace SabreTools.IO.Extensions.Test
|
2024-11-25 15:14:50 -05:00
|
|
|
{
|
|
|
|
|
public class ByteArrayExtensionsTests
|
|
|
|
|
{
|
2026-02-12 13:48:52 -05:00
|
|
|
#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
|
|
|
|
|
|
2025-08-25 12:44:04 -04:00
|
|
|
#region IsNullOrEmpty
|
2024-11-25 15:14:50 -05:00
|
|
|
|
|
|
|
|
[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
|
|
|
|
|
}
|
2025-07-23 10:25:19 -04:00
|
|
|
}
|