Files
Aaru/Aaru.Tests/Images/BlindWrite4.cs

1211 lines
43 KiB
C#
Raw Normal View History

2021-01-08 20:57:04 +00:00
// /***************************************************************************
// 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-2021 Natalia Portillo
// ****************************************************************************/
using System.IO;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Interfaces;
2021-01-08 20:57:04 +00:00
using NUnit.Framework;
namespace Aaru.Tests.Images
{
[TestFixture]
public class BlindWrite4 : OpticalMediaImageTest
2021-01-08 20:57:04 +00:00
{
public override string _dataFolder =>
Path.Combine(Consts.TEST_FILES_ROOT, "Media image formats", "BlindWrite 4");
public override IMediaImage _plugin => new DiscImages.BlindWrite4();
2021-01-08 20:57:04 +00:00
public override OpticalImageTestExpected[] Tests => new[]
2021-01-08 20:57:04 +00:00
{
new OpticalImageTestExpected
{
TestFile = "cdiready_the_apprentice.BWT",
MediaType = MediaType.CDDA,
Sectors = 279300,
MD5 = "3be5ba5cc64cd63030d970cd8eeecc99",
LongMD5 = "3be5ba5cc64cd63030d970cd8eeecc99",
SubchannelMD5 = "fb42293c276a95724616ad25dcc734b6",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 69150,
End = 88649,
Pregap = 0,
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 = "0e4c52acfb90e8954b70b7c50ba01ffb",
LongMD5 = "0e4c52acfb90e8954b70b7c50ba01ffb",
SubchannelMD5 = "5fe9338986050d5631a519a3242dda2d",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 16398,
Pregap = 0,
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 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "report_cdrom.BWT",
MediaType = MediaType.CDROM,
Sectors = 254265,
MD5 = "bf4bbec517101d0d6f45d2e4d50cb875",
LongMD5 = "3d3f9cf7d1ba2249b1e7960071e5af46",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "report_cdrw.BWT",
MediaType = MediaType.CDROM,
Sectors = 308224,
MD5 = "UNKNOWN",
LongMD5 = "UNKNOWN",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 308223,
Pregap = 0,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "report_enhancedcd.BWT",
MediaType = MediaType.CDPLUS,
Sectors = 303316,
MD5 = "UNKNOWN",
LongMD5 = "UNKNOWN",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 15510,
Pregap = 0,
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 = 0
}
}
},
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_audiocd_cdtext.BWT",
MediaType = MediaType.CDDA,
Sectors = 277696,
MD5 = "3463a12134de20f22340d4d36f75ecf1",
LongMD5 = "3463a12134de20f22340d4d36f75ecf1",
SubchannelMD5 = "73c889ef800df274824d4212c4a060a1",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 29751,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 29752,
End = 65033,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 65034,
End = 78425,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 78426,
End = 95079,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 95080,
End = 126146,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 126147,
End = 154958,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 154959,
End = 191684,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 191685,
End = 222775,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 222776,
End = 243437,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 243438,
End = 269599,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 269600,
End = 277695,
Pregap = 150,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_castrated_leadout.BWT",
MediaType = MediaType.CDDA,
Sectors = 269750,
MD5 = "0639197a3c2292f62745e05b7e701e4d",
LongMD5 = "0639197a3c2292f62745e05b7e701e4d",
SubchannelMD5 = "28267d1e5dbc9589cc2cccc1b7a47095",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 29751,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 29752,
End = 65033,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 65034,
End = 78425,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 78426,
End = 95079,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 95080,
End = 126146,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 126147,
End = 154958,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 154959,
End = 191684,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 191685,
End = 222775,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 222776,
End = 243437,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 243438,
End = 269599,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 269600,
End = 269749,
Pregap = 150,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_data_track_as_audio.BWT",
MediaType = MediaType.CDROMXA,
Sectors = 62385,
MD5 = "e1664576ae56b98faaf60652fd050e15",
LongMD5 = "1e1a4024e652668b09868b238aadc0f7",
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_data_track_as_audio_fixed_sub.BWT",
MediaType = MediaType.CDROMXA,
Sectors = 62385,
MD5 = "e1664576ae56b98faaf60652fd050e15",
LongMD5 = "1e1a4024e652668b09868b238aadc0f7",
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_disc_starts_at_track2.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_enhancedcd.BWT",
MediaType = MediaType.CDPLUS,
Sectors = 59206,
MD5 = "UNKNOWN",
LongMD5 = "UNKNOWN",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 14254,
Pregap = 0,
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 = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_incd_udf200_finalized.BWT",
MediaType = MediaType.CDROMXA,
Sectors = 350134,
MD5 = "f95d6f978ddb4f98bbffda403f627fe1",
LongMD5 = "6751e0ae7821f92221672b1cd5a1ff36",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 350133,
Pregap = 0,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_multi_karaoke_sampler.BWT",
MediaType = MediaType.CDROMXA,
Sectors = 329158,
MD5 = "0f8f94e00fed4a163f2590632a1c163e",
LongMD5 = "7f8cca32ee186cf1d70d21882cbe8274",
SubchannelMD5 = "b840fe64cd1784f166fd0ac378487ae0",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 1736,
Pregap = 0,
Flags = 0
},
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 = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_multiple_indexes.BWT",
MediaType = MediaType.CDDA,
Sectors = 65536,
MD5 = "9a5ab4e16c0410d4b2040ce836e78d45",
LongMD5 = "9a5ab4e16c0410d4b2040ce836e78d45",
SubchannelMD5 = "bd86329c11da806cda20b57872aa0a49",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 4653,
Pregap = 0,
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 = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 41035,
End = 54838,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 54839,
End = 65535,
Pregap = 150,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_multisession.BWT",
MediaType = MediaType.CDROMXA,
Sectors = 51168,
MD5 = "UNKNOWN",
LongMD5 = "UNKNOWN",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 8132,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 2,
Start = 19383,
End = 25959,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 3,
Start = 32710,
End = 38477,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 4,
Start = 45228,
End = 51167,
Pregap = 150,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_track2_inside_track1.BWT",
MediaType = MediaType.CDROMXA,
Sectors = 62385,
MD5 = "UNKNOWN",
LongMD5 = "UNKNOWN",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 13199,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 13200,
End = 25538,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 2,
Start = 36789,
End = 62384,
Pregap = 150,
Flags = 0
}
}
},
new OpticalImageTestExpected
{
TestFile = "test_videocd.BWT",
MediaType = MediaType.CDROMXA,
Sectors = 48794,
MD5 = "UNKNOWN",
LongMD5 = "UNKNOWN",
SubchannelMD5 = "UNKNOWN",
Tracks = new[]
{
new TrackInfoTestExpected
{
Session = 1,
Start = 0,
End = 1101,
Pregap = 0,
Flags = 0
},
new TrackInfoTestExpected
{
Session = 1,
Start = 1102,
End = 48793,
Pregap = 150,
Flags = 0
}
}
2021-01-08 20:57:04 +00:00
}
};
}
}