mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
139 lines
4.6 KiB
C#
139 lines
4.6 KiB
C#
using SabreTools.Data.Models.ISO9660;
|
|
using SabreTools.Numerics;
|
|
using Xunit;
|
|
|
|
namespace SabreTools.Data.Extensions.Test
|
|
{
|
|
public class ISO9660ExtensionsTests
|
|
{
|
|
[Fact]
|
|
public void GetLogicalBlockSize_Generic_SectorLength()
|
|
{
|
|
VolumeDescriptor vd = new GenericVolumeDescriptor();
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(sectorLength, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_PVD_ValidBothEndian_ValidBlockSize_BlockSize()
|
|
{
|
|
VolumeDescriptor vd = new PrimaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(2048, 2048)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(2048, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_PVD_ValidBothEndian_InvalidBlockSize_SectorLength()
|
|
{
|
|
VolumeDescriptor vd = new PrimaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(2352, 2352)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(4096, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_PVD_InvalidBothEndian_ValidLE_LEValue()
|
|
{
|
|
VolumeDescriptor vd = new PrimaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(2048, -1)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(2048, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_PVD_InvalidBothEndian_ValidBE_BEValue()
|
|
{
|
|
VolumeDescriptor vd = new PrimaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(-1, 2048)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(2048, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_PVD_InvalidBothEndian_BothInvalid_SectorLength()
|
|
{
|
|
VolumeDescriptor vd = new PrimaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(-1, -2)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(sectorLength, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_SVD_ValidBothEndian_ValidBlockSize_BlockSize()
|
|
{
|
|
VolumeDescriptor vd = new SupplementaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(2048, 2048)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(2048, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_SVD_ValidBothEndian_InvalidBlockSize_SectorLength()
|
|
{
|
|
VolumeDescriptor vd = new SupplementaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(2352, 2352)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(4096, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_SVD_InvalidBothEndian_ValidLE_LEValue()
|
|
{
|
|
VolumeDescriptor vd = new SupplementaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(2048, -1)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(2048, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_SVD_InvalidBothEndian_ValidBE_BEValue()
|
|
{
|
|
VolumeDescriptor vd = new SupplementaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(-1, 2048)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(2048, actual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetLogicalBlockSize_SVD_InvalidBothEndian_BothInvalid_SectorLength()
|
|
{
|
|
VolumeDescriptor vd = new SupplementaryVolumeDescriptor
|
|
{
|
|
LogicalBlockSize = new BothInt16(-1, -2)
|
|
};
|
|
short sectorLength = 4096;
|
|
short actual = vd.GetLogicalBlockSize(sectorLength);
|
|
Assert.Equal(sectorLength, actual);
|
|
}
|
|
}
|
|
}
|