// /*************************************************************************** // Aaru Data Preservation Suite // ---------------------------------------------------------------------------- // // Filename : CDRWin10.cs // Author(s) : Natalia Portillo // // 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 . // // ---------------------------------------------------------------------------- // Copyright © 2011-2021 Natalia Portillo // ****************************************************************************/ using System.IO; using Aaru.CommonTypes; using Aaru.CommonTypes.Interfaces; using NUnit.Framework; namespace Aaru.Tests.Images { [TestFixture] public class CDRWin10 : OpticalMediaImageTest { public override string DataFolder => Path.Combine(Consts.TEST_FILES_ROOT, "Media image formats", "CDRWin 10"); public override IMediaImage _plugin => new DiscImages.Alcohol120(); public override OpticalImageTestExpected[] Tests => new[] { new OpticalImageTestExpected { TestFile = "report_audiocd.xmd", MediaType = MediaType.CDROMXA, Sectors = 247073, MD5 = "c09f408a4416634d8ac1c1ffd0ed75a5", LongMD5 = "c09f408a4416634d8ac1c1ffd0ed75a5", SubchannelMD5 = "d4075209391c6955f438d0fa6095c6e2", Tracks = new[] { 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 OpticalImageTestExpected { TestFile = "report_cdrom.xmd", MediaType = MediaType.CDROM, Sectors = 254265, MD5 = "bf4bbec517101d0d6f45d2e4d50cb875", LongMD5 = "3d3f9cf7d1ba2249b1e7960071e5af46", SubchannelMD5 = "811058470f33be5988ea1c2627200039", 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_2x.xmd", MediaType = MediaType.CDROM, Sectors = 308224, MD5 = "1e55aa420ca8f8ea77d5b597c9cfc19b", LongMD5 = "3af5f943ddb9427d9c63a4ce3b704db9", SubchannelMD5 = "6d0cd8e56dada05a86a4abd10f77e054", 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_cdr.xmd", MediaType = MediaType.CDROM, Sectors = 254265, MD5 = "bf4bbec517101d0d6f45d2e4d50cb875", LongMD5 = "3d3f9cf7d1ba2249b1e7960071e5af46", SubchannelMD5 = "d814823071e3671fbf204e5bf063f432", 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_enhancedcd.xmd", MediaType = MediaType.CDPLUS, Sectors = 303316, MD5 = "557b9658671c16602e635f157b7525db", LongMD5 = "76454ac3a025857dc41e05c430783eab", SubchannelMD5 = "5a33440f5c51acff1921e92269978645", Tracks = new[] { 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[] { new FileSystemTest { Clusters = 69136, ClusterSize = 2048, Type = "ISO9660", VolumeName = "Melanie C" } } } } }, new OpticalImageTestExpected { TestFile = "test_karaoke_multi_sampler.xmd", MediaType = MediaType.CDROMXA, Sectors = 329158, MD5 = "9a19aa0df066732a8ec34025e8160248", LongMD5 = "f4adafc5f2bdda2e4d70dce667cf47c1", SubchannelMD5 = "b349f26946197859f6a0ef5c3881b8ca", Tracks = new[] { new TrackInfoTestExpected { Session = 1, Start = 0, End = 1886, Pregap = 150, Flags = 4, Number = 1, FileSystems = new[] { 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 } } } }; } }