Files
Aaru/Aaru.Tests/Structs.cs

99 lines
2.9 KiB
C#
Raw Normal View History

2021-03-07 21:10:27 +00:00
using System.Collections.Generic;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Structs;
namespace Aaru.Tests
{
/// <summary>Class to define expected data when testing media info</summary>
public class MediaInfoTest
{
/// <summary>Expected media type</summary>
public MediaType MediaType;
/// <summary>Expected number of sectors in media</summary>
public ulong Sectors;
/// <summary>Expected media sector size</summary>
public uint SectorSize;
/// <summary>File that contains the image to test</summary>
public string TestFile;
public override string ToString() => TestFile;
}
/// <summary>Class to define expected data when testing filesystem info</summary>
public class FileSystemTest : MediaInfoTest
{
/// <summary>Application ID</summary>
public string ApplicationId;
/// <summary>Can the volume boot?</summary>
public bool Bootable;
/// <summary>Clusters in volume</summary>
public long Clusters;
/// <summary>Bytes per cluster</summary>
public uint ClusterSize;
/// <summary>System or OEM ID</summary>
public string SystemId;
/// <summary>Filesystem type. null if always the same, as defined in test class</summary>
public string Type;
/// <summary>Volume name</summary>
public string VolumeName;
/// <summary>Volume serial number or set identifier</summary>
public string VolumeSerial;
}
public class BlockImageTestExpected : MediaInfoTest
{
public string MD5;
}
public class TrackInfoTestExpected
{
public ulong End;
public byte? Flags;
public ulong? Pregap;
public int Session;
public ulong Start;
}
public class OpticalImageTestExpected : BlockImageTestExpected
{
public string LongMD5;
public string SubchannelMD5;
public TrackInfoTestExpected[] Tracks;
}
public class TapeImageTestExpected : BlockImageTestExpected
{
public TapeFile[] Files;
public TapePartition[] Partitions;
}
public class PartitionTest
{
public Partition[] Partitions;
/// <summary>File that contains the partition scheme to test</summary>
public string TestFile;
}
2021-03-07 21:10:27 +00:00
public class FsExtractHashData
{
public PartitionVolumes[] Partitions;
}
public class PartitionVolumes
{
public VolumeData[] Volumes;
}
public class FileData
{
public string MD5;
public Dictionary<string, string> XattrsWithMd5;
}
2021-03-07 21:10:27 +00:00
public class VolumeData
{
public List<string> Directories;
public Dictionary<string, FileData> Files;
public string VolumeName;
2021-03-07 21:10:27 +00:00
}
}