mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-06 06:11:45 +00:00
157 lines
4.0 KiB
C#
157 lines
4.0 KiB
C#
using SabreTools.Data.Models.InstallShieldCabinet;
|
|
using Xunit;
|
|
|
|
namespace SabreTools.Data.Extensions.Test
|
|
{
|
|
public class InstallShieldCabinetExtensionsTests
|
|
{
|
|
#region IsCompressed
|
|
|
|
[Fact]
|
|
public void IsCompressed_Null_True()
|
|
{
|
|
FileDescriptor? fd = null;
|
|
bool actual = fd.IsCompressed();
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsCompressed_Compressed_True()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = FileFlags.FILE_COMPRESSED };
|
|
bool actual = fd.IsCompressed();
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsCompressed_NotCompressed_False()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = 0 };
|
|
bool actual = fd.IsCompressed();
|
|
Assert.False(actual);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IsInvalid
|
|
|
|
[Fact]
|
|
public void IsInvalid_Null_True()
|
|
{
|
|
FileDescriptor? fd = null;
|
|
bool actual = fd.IsInvalid();
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsInvalid_Invalid_True()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = FileFlags.FILE_INVALID };
|
|
bool actual = fd.IsInvalid();
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsInvalid_Valid_False()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = 0 };
|
|
bool actual = fd.IsInvalid();
|
|
Assert.False(actual);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IsObfuscated
|
|
|
|
[Fact]
|
|
public void IsObfuscated_Null_False()
|
|
{
|
|
FileDescriptor? fd = null;
|
|
bool actual = fd.IsObfuscated();
|
|
Assert.False(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsObfuscated_Obfuscated_True()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = FileFlags.FILE_OBFUSCATED };
|
|
bool actual = fd.IsObfuscated();
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsObfuscated_NotObfuscated_False()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = 0 };
|
|
bool actual = fd.IsObfuscated();
|
|
Assert.False(actual);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IsSplit
|
|
|
|
[Fact]
|
|
public void IsSplit_Null_False()
|
|
{
|
|
FileDescriptor? fd = null;
|
|
bool actual = fd.IsSplit();
|
|
Assert.False(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsSplit_Split_True()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = FileFlags.FILE_SPLIT };
|
|
bool actual = fd.IsSplit();
|
|
Assert.True(actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void IsSplit_NotSplitFalse()
|
|
{
|
|
FileDescriptor? fd = new FileDescriptor { Flags = 0 };
|
|
bool actual = fd.IsSplit();
|
|
Assert.False(actual);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region GetMajorVersion
|
|
|
|
[Fact]
|
|
public void GetMajorVersion_NullCabinet_NegativeOne()
|
|
{
|
|
Cabinet? cabinet = null;
|
|
int actual = cabinet.GetMajorVersion();
|
|
Assert.Equal(-1, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetMajorVersion_NullHeader_NegativeOne()
|
|
{
|
|
CommonHeader? cabinet = null;
|
|
int actual = cabinet.GetMajorVersion();
|
|
Assert.Equal(-1, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(0x00000000, 0)]
|
|
[InlineData(0x00000004, 4)]
|
|
[InlineData(0x01000000, 0)]
|
|
[InlineData(0x01004000, 4)]
|
|
[InlineData(0x02000000, 0)]
|
|
[InlineData(0x02000190, 4)]
|
|
[InlineData(0x04000000, 0)]
|
|
[InlineData(0x04000190, 4)]
|
|
public void GetMajorVersionTest(uint version, int expected)
|
|
{
|
|
CommonHeader? cabinet = new CommonHeader { Version = version };
|
|
int actual = cabinet.GetMajorVersion();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|