Files
Aaru/Aaru.Tests/Images/CDRWin10.cs

565 lines
18 KiB
C#

// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : CDRWin10.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Aaru unit testing.
//
// --[ License ] --------------------------------------------------------------
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2025 Natalia Portillo
// ****************************************************************************/
using System.Diagnostics.CodeAnalysis;
using System.IO;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Interfaces;
using NUnit.Framework;
namespace Aaru.Tests.Images;
[TestFixture]
[SuppressMessage("ReSharper", "InconsistentNaming")]
public class CDRWin10 : OpticalMediaImageTest
{
public override string DataFolder => Path.Combine(Consts.TestFilesRoot, "Media image formats", "CDRWin 10");
public override IMediaImage Plugin => new Aaru.Images.Alcohol120();
public override OpticalImageTestExpected[] Tests =>
[
new()
{
TestFile = "report_audiocd.xmd",
MediaType = MediaType.CDDA,
Sectors = 247073,
Md5 = "c09f408a4416634d8ac1c1ffd0ed75a5",
LongMd5 = "c09f408a4416634d8ac1c1ffd0ed75a5",
SubchannelMd5 = "d4075209391c6955f438d0fa6095c6e2",
Tracks =
[
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 16548,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 16549,
End = 30050,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 30051,
End = 47949,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 47950,
End = 63313,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 63314,
End = 78924,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 78925,
End = 94731,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 94732,
End = 117124,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 117125,
End = 136165,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 136166,
End = 154071,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 154072,
End = 170750,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 170751,
End = 186538,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 186539,
End = 201798,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 201799,
End = 224448,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 224449,
End = 247072,
Pregap = 0,
Flags = 0
}
]
},
new()
{
TestFile = "report_cdrom.xmd",
MediaType = MediaType.CDROM,
Sectors = 254265,
Md5 = "bf4bbec517101d0d6f45d2e4d50cb875",
LongMd5 = "3d3f9cf7d1ba2249b1e7960071e5af46",
SubchannelMd5 = "811058470f33be5988ea1c2627200039",
Tracks =
[
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 254264,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems =
[
new FileSystemTest
{
Clusters = 63562,
ClusterSize = 8192,
Type = "hfs",
VolumeName = "Winpower"
},
new FileSystemTest
{
Clusters = 254265,
ClusterSize = 2048,
Type = "iso9660",
VolumeName = "Winpower"
}
]
}
]
},
new()
{
TestFile = "report_cdrw_2x.xmd",
MediaType = MediaType.CDROM,
Sectors = 308224,
Md5 = "1e55aa420ca8f8ea77d5b597c9cfc19b",
LongMd5 = "3af5f943ddb9427d9c63a4ce3b704db9",
SubchannelMd5 = "6d0cd8e56dada05a86a4abd10f77e054",
Tracks =
[
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 308223,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems =
[
new FileSystemTest
{
Bootable = true,
Clusters = 308224,
ClusterSize = 2048,
Type = "iso9660",
VolumeName = "ARCH_201901"
}
]
}
]
},
new()
{
TestFile = "report_cdr.xmd",
MediaType = MediaType.CDROM,
Sectors = 254265,
Md5 = "bf4bbec517101d0d6f45d2e4d50cb875",
LongMd5 = "3d3f9cf7d1ba2249b1e7960071e5af46",
SubchannelMd5 = "d814823071e3671fbf204e5bf063f432",
Tracks =
[
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 254264,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems =
[
new FileSystemTest
{
Clusters = 63562,
ClusterSize = 8192,
Type = "hfs",
VolumeName = "Winpower"
},
new FileSystemTest
{
Clusters = 254265,
ClusterSize = 2048,
Type = "iso9660",
VolumeName = "Winpower"
}
]
}
]
},
new()
{
TestFile = "report_enhancedcd.xmd",
MediaType = MediaType.CDPLUS,
Sectors = 303316,
Md5 = "557b9658671c16602e635f157b7525db",
LongMd5 = "76454ac3a025857dc41e05c430783eab",
SubchannelMd5 = "5a33440f5c51acff1921e92269978645",
Tracks =
[
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 15660,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 15661,
End = 33958,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 33959,
End = 51329,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 51330,
End = 71972,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 71973,
End = 87581,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 87582,
End = 103304,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 103305,
End = 117690,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 117691,
End = 136166,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 136167,
End = 153417,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 153418,
End = 166931,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 166932,
End = 187112,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 187113,
End = 201440,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 201441,
End = 222779,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 2,
Start = 234180,
End = 303315,
Pregap = 0,
Flags = 4,
Number = 14,
FileSystems =
[
new FileSystemTest
{
Clusters = 69136,
ClusterSize = 2048,
Type = "iso9660",
VolumeName = "Melanie C"
}
]
}
]
},
new()
{
TestFile = "test_karaoke_multi_sampler.xmd",
MediaType = MediaType.CDROMXA,
Sectors = 329158,
Md5 = "9a19aa0df066732a8ec34025e8160248",
LongMd5 = "f4adafc5f2bdda2e4d70dce667cf47c1",
SubchannelMd5 = "b349f26946197859f6a0ef5c3881b8ca",
Tracks =
[
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 1886,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems =
[
new FileSystemTest
{
Clusters = 1587,
ClusterSize = 2048,
Type = "iso9660",
VolumeName = ""
}
]
},
new TrackInfoTestExpected
{
Session = 1,
Start = 1887,
End = 32748,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 32749,
End = 52671,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 52672,
End = 70303,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 70304,
End = 100097,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 100098,
End = 119760,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 119761,
End = 136998,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 136999,
End = 155789,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 155790,
End = 175825,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 175826,
End = 206460,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 206461,
End = 226449,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 226450,
End = 244354,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 244355,
End = 273964,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 273965,
End = 293751,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 293752,
End = 310710,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 310711,
End = 329157,
Pregap = 0,
Flags = 0
}
]
}
];
}