Files
SabreTools.Serialization/SabreTools.Serialization.Test/Wrappers/SevenZipTests.cs
2026-01-27 12:03:01 -05:00

78 lines
2.2 KiB
C#

using System;
using System.IO;
using System.Linq;
using SabreTools.Serialization.Wrappers;
using Xunit;
#pragma warning disable xUnit1004 // Test methods should not be skipped
namespace SabreTools.Serialization.Test.Wrappers
{
public class SevenZipTests
{
[Fact]
public void NullArray_Null()
{
byte[]? data = null;
int offset = 0;
var actual = SevenZip.Create(data, offset);
Assert.Null(actual);
}
[Fact]
public void EmptyArray_Null()
{
byte[]? data = [];
int offset = 0;
var actual = SevenZip.Create(data, offset);
Assert.Null(actual);
}
[Fact(Skip = "This will never pass with the current code")]
public void InvalidArray_Null()
{
byte[]? data = [.. Enumerable.Repeat<byte>(0xFF, 1024)];
int offset = 0;
var actual = SevenZip.Create(data, offset);
Assert.Null(actual);
}
[Fact]
public void NullStream_Null()
{
Stream? data = null;
var actual = SevenZip.Create(data);
Assert.Null(actual);
}
[Fact(Skip = "This will never pass with the current code")]
public void EmptyStream_Null()
{
Stream? data = new MemoryStream([]);
var actual = SevenZip.Create(data);
Assert.Null(actual);
}
[Fact(Skip = "This will never pass with the current code")]
public void InvalidStream_Null()
{
Stream? data = new MemoryStream([.. Enumerable.Repeat<byte>(0xFF, 1024)]);
var actual = SevenZip.Create(data);
Assert.Null(actual);
}
#region FindParts
[Theory]
[InlineData("single.7z", 1)]
[InlineData("multi.7z.001", 3)]
public void FindPartsTest(string filename, int expectedParts)
{
string firstPart = Path.Combine(Environment.CurrentDirectory, "TestData", "SevenZip", filename);
var actual = SevenZip.FindParts(firstPart);
Assert.Equal(expectedParts, actual.Count);
}
#endregion
}
}