mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
1403 lines
46 KiB
C#
1403 lines
46 KiB
C#
// /***************************************************************************
|
|
// Aaru Data Preservation Suite
|
|
// ----------------------------------------------------------------------------
|
|
//
|
|
// Filename : BlindWrite5.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-2023 Natalia Portillo
|
|
// ****************************************************************************/
|
|
|
|
using System.IO;
|
|
using Aaru.CommonTypes;
|
|
using Aaru.CommonTypes.Interfaces;
|
|
using NUnit.Framework;
|
|
|
|
namespace Aaru.Tests.Images;
|
|
|
|
[TestFixture]
|
|
public class BlindWrite4 : OpticalMediaImageTest
|
|
{
|
|
public override string DataFolder => Path.Combine(Consts.TestFilesRoot, "Media image formats", "BlindWrite 4");
|
|
public override IMediaImage Plugin => new DiscImages.BlindWrite4();
|
|
|
|
public override OpticalImageTestExpected[] Tests => new[]
|
|
{
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "cdiready_the_apprentice.BWT",
|
|
MediaType = MediaType.CDDA,
|
|
Sectors = 279300,
|
|
Md5 = "e202d6851822b03b537f7b356e61ebcc",
|
|
LongMd5 = "e202d6851822b03b537f7b356e61ebcc",
|
|
SubchannelMd5 = "b158732e5396be73a25e2a12bce4ec28",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 88649,
|
|
Pregap = 69300,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 88650,
|
|
End = 107474,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 107475,
|
|
End = 112049,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 112050,
|
|
End = 133499,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 133500,
|
|
End = 138074,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 138075,
|
|
End = 159674,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 159675,
|
|
End = 164624,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 164625,
|
|
End = 185249,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 185250,
|
|
End = 189974,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 189975,
|
|
End = 208724,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 208725,
|
|
End = 212849,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 212850,
|
|
End = 232049,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 232050,
|
|
End = 236549,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 236550,
|
|
End = 241724,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 241725,
|
|
End = 255974,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 255975,
|
|
End = 256724,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 256725,
|
|
End = 265499,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 265500,
|
|
End = 267224,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 267225,
|
|
End = 269849,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 269850,
|
|
End = 271499,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 271500,
|
|
End = 274124,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 274125,
|
|
End = 279299,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "report_audiocd.BWT",
|
|
MediaType = MediaType.CDDA,
|
|
Sectors = 247073,
|
|
Md5 = "c09f408a4416634d8ac1c1ffd0ed75a5",
|
|
LongMd5 = "c09f408a4416634d8ac1c1ffd0ed75a5",
|
|
SubchannelMd5 = "2cf7f3f06c28032f7609aaab970c001f",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 16398,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 16399,
|
|
End = 29900,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 29901,
|
|
End = 47799,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 47800,
|
|
End = 63163,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 63164,
|
|
End = 78774,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 78775,
|
|
End = 94581,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 94582,
|
|
End = 116974,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 116975,
|
|
End = 136015,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 136016,
|
|
End = 153921,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 153922,
|
|
End = 170600,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 170601,
|
|
End = 186388,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 186389,
|
|
End = 201648,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 201649,
|
|
End = 224298,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 224299,
|
|
End = 247072,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "report_cdr.BWT",
|
|
MediaType = MediaType.CDROM,
|
|
Sectors = 254265,
|
|
Md5 = "bf4bbec517101d0d6f45d2e4d50cb875",
|
|
LongMd5 = "3d3f9cf7d1ba2249b1e7960071e5af46",
|
|
SubchannelMd5 = "00c0dd9095dcc8ac17246dd56d2a368c",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 254264,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 1,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 63562,
|
|
ClusterSize = 8192,
|
|
Type = "hfs",
|
|
VolumeName = "Winpower"
|
|
},
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 254265,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "Winpower"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "report_cdrom.BWT",
|
|
MediaType = MediaType.CDROM,
|
|
Sectors = 254265,
|
|
Md5 = "bf4bbec517101d0d6f45d2e4d50cb875",
|
|
LongMd5 = "3d3f9cf7d1ba2249b1e7960071e5af46",
|
|
SubchannelMd5 = "00c0dd9095dcc8ac17246dd56d2a368c",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 254264,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 1,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 63562,
|
|
ClusterSize = 8192,
|
|
Type = "hfs",
|
|
VolumeName = "Winpower"
|
|
},
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 254265,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "Winpower"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "report_cdrw.BWT",
|
|
MediaType = MediaType.CDROM,
|
|
Sectors = 308224,
|
|
Md5 = "1e55aa420ca8f8ea77d5b597c9cfc19b",
|
|
LongMd5 = "3af5f943ddb9427d9c63a4ce3b704db9",
|
|
SubchannelMd5 = "3aa50e929756b926e7471255fd1aa894",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 308223,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 1,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Bootable = true,
|
|
Clusters = 308224,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "ARCH_201901"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "report_enhancedcd.BWT",
|
|
MediaType = MediaType.CDPLUS,
|
|
Sectors = 303316,
|
|
Md5 = "c15f0beeed08f943cfc50c3246334dd2",
|
|
LongMd5 = "1aab899e2965a74763b1bb232ff8bf21",
|
|
SubchannelMd5 = "d5a424eedad28620468f215d5b24d453",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 15510,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 15511,
|
|
End = 33808,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 33809,
|
|
End = 51179,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 51180,
|
|
End = 71822,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 71823,
|
|
End = 87431,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 87432,
|
|
End = 103154,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 103155,
|
|
End = 117540,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 117541,
|
|
End = 136016,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 136017,
|
|
End = 153267,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 153268,
|
|
End = 166781,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 166782,
|
|
End = 186962,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 186963,
|
|
End = 201290,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 201291,
|
|
End = 222779,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 234030,
|
|
End = 303315,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 14,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 69136,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "Melanie C"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_audiocd_cdtext.BWT",
|
|
MediaType = MediaType.CDDA,
|
|
Sectors = 277696,
|
|
Md5 = "7c8fc7bb768cff15d702ac8cd10108d7",
|
|
LongMd5 = "7c8fc7bb768cff15d702ac8cd10108d7",
|
|
SubchannelMd5 = "4637654a333c5917232b343ba465fba0",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 29751,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 29752,
|
|
End = 65033,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 65034,
|
|
End = 78425,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 78426,
|
|
End = 95079,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 95080,
|
|
End = 126146,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 126147,
|
|
End = 154958,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 154959,
|
|
End = 191684,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 191685,
|
|
End = 222775,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 222776,
|
|
End = 243437,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 243438,
|
|
End = 269599,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 269600,
|
|
End = 277695,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_enhancedcd.BWT",
|
|
MediaType = MediaType.CDPLUS,
|
|
Sectors = 59206,
|
|
Md5 = "c0cdd94f1488226d37f0398eef75eb4c",
|
|
LongMd5 = "843302a664a074dc4c02b27e53eb228a",
|
|
SubchannelMd5 = "fd13f0194b8e141d4384abf1ad00fbf2",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 14254,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 14255,
|
|
End = 28952,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 40203,
|
|
End = 59205,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 3,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 18853,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "New"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_incd_udf200_finalized.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 350134,
|
|
Md5 = "f95d6f978ddb4f98bbffda403f627fe1",
|
|
LongMd5 = "6751e0ae7821f92221672b1cd5a1ff36",
|
|
SubchannelMd5 = "d651d48c8839ad94f0a285660999db00",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 350133,
|
|
Pregap = 150,
|
|
Flags = 7,
|
|
Number = 1,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 600,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "INCD"
|
|
},
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 399371,
|
|
ClusterSize = 2048,
|
|
Type = "udf",
|
|
VolumeName = "InCD",
|
|
VolumeSerial = "40888C15CA13D401InCD"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_multi_karaoke_sampler.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 329158,
|
|
Md5 = "a34e29e42b60023a6ae59f37d2bd4bea",
|
|
LongMd5 = "e981f7dfdb522ba937fe75474e23a446",
|
|
SubchannelMd5 = "00045e5e72d806f84fb363e4ae73cf46",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 1736,
|
|
Pregap = 150,
|
|
Flags = 0,
|
|
Number = 1,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 1587,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = ""
|
|
}
|
|
}
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 1737,
|
|
End = 32598,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 32599,
|
|
End = 52521,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 52522,
|
|
End = 70153,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 70154,
|
|
End = 99947,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 99948,
|
|
End = 119610,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 119611,
|
|
End = 136848,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 136849,
|
|
End = 155639,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 155640,
|
|
End = 175675,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 175676,
|
|
End = 206310,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 206311,
|
|
End = 226299,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 226300,
|
|
End = 244204,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 244205,
|
|
End = 273814,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 273815,
|
|
End = 293601,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 293602,
|
|
End = 310560,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 310561,
|
|
End = 329157,
|
|
Pregap = 150,
|
|
Flags = 4
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_multiple_indexes.BWT",
|
|
MediaType = MediaType.CDDA,
|
|
Sectors = 65536,
|
|
Md5 = "1b13a8f8aeb23f0b8bbc68518217e771",
|
|
LongMd5 = "1b13a8f8aeb23f0b8bbc68518217e771",
|
|
SubchannelMd5 = "2ff4170eafb73c4be3a81c35f37e9c3d",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 4653,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 4654,
|
|
End = 13724,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 13725,
|
|
End = 41034,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 41035,
|
|
End = 54838,
|
|
Pregap = 150,
|
|
Flags = 8
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 54839,
|
|
End = 65535,
|
|
Pregap = 150,
|
|
Flags = 1
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_multisession.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 51168,
|
|
Md5 = "e2e19cf38891e67a0829d01842b4052e",
|
|
LongMd5 = "3e646a04eb29a8e0ad892b6ac00ba962",
|
|
SubchannelMd5 = "b0b18100d5d38211f057bd3781407fc6",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 8132,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 1,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 7876,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "Session 1"
|
|
},
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 9276,
|
|
ClusterSize = 2048,
|
|
Type = "udf",
|
|
VolumeName = "Session 1",
|
|
VolumeSerial = "50958B61AF6A749E"
|
|
}
|
|
}
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 19383,
|
|
End = 25959,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 2,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 6170,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "Session 2"
|
|
},
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 7330,
|
|
ClusterSize = 2048,
|
|
Type = "udf",
|
|
VolumeName = "Session 2",
|
|
VolumeSerial = "50958BBBAF6A7444"
|
|
}
|
|
}
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 3,
|
|
Start = 32710,
|
|
End = 38477,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 3,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 5360,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "Session 3"
|
|
},
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 6408,
|
|
ClusterSize = 2048,
|
|
Type = "udf",
|
|
VolumeName = "Session 3",
|
|
VolumeSerial = "50958C19AF6A73E6"
|
|
}
|
|
}
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 4,
|
|
Start = 45228,
|
|
End = 51167,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 4,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 45796,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "Session 4"
|
|
},
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 6604,
|
|
ClusterSize = 2048,
|
|
Type = "udf",
|
|
VolumeName = "Session 4",
|
|
VolumeSerial = "50958C82AF6A737D"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_videocd.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 48794,
|
|
Md5 = "67ed7ec2aac06b56b4d693146d64adb7",
|
|
LongMd5 = "84c5329e55e3cc8c125c636c71ba2c17",
|
|
SubchannelMd5 = "5027417c4cbb4975482b902c57232dfb",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 1101,
|
|
Pregap = 150,
|
|
Flags = 4,
|
|
Number = 1,
|
|
FileSystems = new[]
|
|
{
|
|
new FileSystemTest
|
|
{
|
|
Clusters = 1102,
|
|
ClusterSize = 2048,
|
|
Type = "iso9660",
|
|
VolumeName = "VIDEOCD"
|
|
}
|
|
}
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 1102,
|
|
End = 48793,
|
|
Pregap = 150,
|
|
Flags = 4
|
|
}
|
|
}
|
|
},
|
|
|
|
#region These test images violate the specifications and are not expected to work yet
|
|
|
|
/*
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_all_tracks_are_track1.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 62385,
|
|
MD5 = "UNKNOWN",
|
|
LongMD5 = "UNKNOWN",
|
|
SubchannelMD5 = "UNKNOWN",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 25538,
|
|
Pregap = 0,
|
|
Flags = 0
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 36789,
|
|
End = 62384,
|
|
Pregap = 150,
|
|
Flags = 0
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_castrated_leadout.BWT",
|
|
MediaType = MediaType.CDDA,
|
|
Sectors = 269750,
|
|
MD5 = "b91cad51e94fa20b3108bde2fa846b2d",
|
|
LongMD5 = "b91cad51e94fa20b3108bde2fa846b2d",
|
|
SubchannelMD5 = "03f4de8844777f08a7114e4c28eb3d09",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 29751,
|
|
Pregap = 0,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 29752,
|
|
End = 65033,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 65034,
|
|
End = 78425,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 78426,
|
|
End = 95079,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 95080,
|
|
End = 126146,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 126147,
|
|
End = 154958,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 154959,
|
|
End = 191684,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 191685,
|
|
End = 222775,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 222776,
|
|
End = 243437,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 243438,
|
|
End = 269599,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 269600,
|
|
End = 269749,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_data_track_as_audio.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 62385,
|
|
MD5 = "9d4baa88af74fea2a372f65e9d03f719",
|
|
LongMD5 = "44bcce47a30f7ee6aa20c7a612d63b34",
|
|
SubchannelMD5 = "f9576f95faf9d6874642ad0a3033e0f5",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 25538,
|
|
Pregap = 0,
|
|
Flags = 4
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 36789,
|
|
End = 62384,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_data_track_as_audio_fixed_sub.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 62385,
|
|
MD5 = "9d4baa88af74fea2a372f65e9d03f719",
|
|
LongMD5 = "44bcce47a30f7ee6aa20c7a612d63b34",
|
|
SubchannelMD5 = "f9576f95faf9d6874642ad0a3033e0f5",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 25538,
|
|
Pregap = 0,
|
|
Flags = 4
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 36789,
|
|
End = 62384,
|
|
Pregap = 150,
|
|
Flags = 2
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_disc_starts_at_track2.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 62385,
|
|
MD5 = "807b4b5fb725a4bd2c3820e5d51b39ac",
|
|
LongMD5 = "292c210e3f7ee29f0c75097477a2f29c",
|
|
SubchannelMD5 = "f9576f95faf9d6874642ad0a3033e0f5",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 25538,
|
|
Pregap = 0,
|
|
Flags = 4
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 36789,
|
|
End = 62384,
|
|
Pregap = 150,
|
|
Flags = 4
|
|
}
|
|
}
|
|
},
|
|
new OpticalImageTestExpected
|
|
{
|
|
TestFile = "test_track2_inside_track1.BWT",
|
|
MediaType = MediaType.CDROMXA,
|
|
Sectors = 62385,
|
|
MD5 = "1474ba6a5dba04e711fe4008503877ff",
|
|
LongMD5 = "539aea27a6c9b8b507ffc9d942c9df92",
|
|
SubchannelMD5 = "f9576f95faf9d6874642ad0a3033e0f5",
|
|
Tracks = new[]
|
|
{
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 0,
|
|
End = 13199,
|
|
Pregap = 0,
|
|
Flags = 4
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 1,
|
|
Start = 13200,
|
|
End = 25538,
|
|
Pregap = 150,
|
|
Flags = 4
|
|
},
|
|
new TrackInfoTestExpected
|
|
{
|
|
Session = 2,
|
|
Start = 36789,
|
|
End = 62384,
|
|
Pregap = 150,
|
|
Flags = 4
|
|
}
|
|
}
|
|
},
|
|
*/
|
|
|
|
#endregion
|
|
};
|
|
} |