diff --git a/MPF.Test/Converters/KnownSystemExtensionsTest.cs b/MPF.Test/Converters/KnownSystemExtensionsTest.cs index 967d60e2..153b6e2d 100644 --- a/MPF.Test/Converters/KnownSystemExtensionsTest.cs +++ b/MPF.Test/Converters/KnownSystemExtensionsTest.cs @@ -1,5 +1,4 @@ using System; -using MPF.Core.Converters; using MPF.Core.Utilities; using RedumpLib.Data; using Xunit; diff --git a/MPF.Test/Converters/MediaTypeExtensionsTest.cs b/MPF.Test/Converters/MediaTypeExtensionsTest.cs index 8af340ee..a364d1e1 100644 --- a/MPF.Test/Converters/MediaTypeExtensionsTest.cs +++ b/MPF.Test/Converters/MediaTypeExtensionsTest.cs @@ -1,5 +1,4 @@ -using MPF.Core.Converters; -using MPF.Core.Utilities; +using MPF.Core.Utilities; using RedumpLib.Data; using Xunit; diff --git a/MPF.Test/Utilities/DumpEnvironmentTest.cs b/MPF.Test/Library/DumpEnvironmentTests.cs similarity index 97% rename from MPF.Test/Utilities/DumpEnvironmentTest.cs rename to MPF.Test/Library/DumpEnvironmentTests.cs index 2a900b73..ce952e58 100644 --- a/MPF.Test/Utilities/DumpEnvironmentTest.cs +++ b/MPF.Test/Library/DumpEnvironmentTests.cs @@ -4,9 +4,9 @@ using MPF.Library; using RedumpLib.Data; using Xunit; -namespace MPF.Test +namespace MPF.Test.Library { - public class DumpEnvironmentTest + public class DumpEnvironmentTests { [Theory] [InlineData(null, 'D', false, MediaType.NONE, false)] diff --git a/MPF.Test/Modules/DiscImageCreatorTests.cs b/MPF.Test/Modules/DiscImageCreatorTests.cs index db13f648..9d789618 100644 --- a/MPF.Test/Modules/DiscImageCreatorTests.cs +++ b/MPF.Test/Modules/DiscImageCreatorTests.cs @@ -1,10 +1,72 @@ -using MPF.Modules.DiscImageCreator; +using System.Collections.Generic; +using MPF.Core.Data; +using MPF.Modules.DiscImageCreator; +using RedumpLib.Data; using Xunit; namespace MPF.Test.Modules { public class DiscImageCreatorTests { + [Theory] + [InlineData(RedumpSystem.MicrosoftXbox, MediaType.CDROM, CommandStrings.CompactDisc)] + [InlineData(RedumpSystem.MicrosoftXbox, MediaType.DVD, CommandStrings.XBOX)] + [InlineData(RedumpSystem.MicrosoftXbox, MediaType.LaserDisc, null)] + [InlineData(RedumpSystem.SonyPlayStation3, MediaType.BluRay, CommandStrings.BluRay)] + [InlineData(RedumpSystem.AppleMacintosh, MediaType.FloppyDisk, CommandStrings.Floppy)] + [InlineData(RedumpSystem.RawThrillsVarious, MediaType.GDROM, null)] + public void ParametersFromSystemAndTypeTest(RedumpSystem? knownSystem, MediaType? mediaType, string expected) + { + var options = new Options { }; + var actual = new Parameters(knownSystem, mediaType, 'D', "disc.bin", 16, options); + Assert.Equal(expected, actual.BaseCommand); + } + + [Theory] + [InlineData(RedumpSystem.AppleMacintosh, MediaType.LaserDisc, true, 20, null, null)] + [InlineData(RedumpSystem.NintendoGameCube, MediaType.NintendoGameCubeGameDisc, false, 20, null, new string[] { FlagStrings.Raw })] + [InlineData(RedumpSystem.IBMPCcompatible, MediaType.DVD, false, 20, null, new string[] { FlagStrings.CopyrightManagementInformation, FlagStrings.ScanFileProtect })] + /* paranoid mode tests */ + [InlineData(RedumpSystem.IBMPCcompatible, MediaType.CDROM, true, 1000, 2, new string[] { FlagStrings.C2Opcode, FlagStrings.NoFixSubQSecuROM, FlagStrings.ScanFileProtect, FlagStrings.ScanSectorProtect, FlagStrings.SubchannelReadLevel })] + [InlineData(RedumpSystem.AppleMacintosh, MediaType.CDROM, false, 20, null, new string[] { FlagStrings.C2Opcode, FlagStrings.NoFixSubQSecuROM, FlagStrings.ScanFileProtect, FlagStrings.ScanSectorProtect, FlagStrings.SubchannelReadLevel })] + [InlineData(RedumpSystem.IBMPCcompatible, MediaType.DVD, true, 500, null, new string[] { FlagStrings.CopyrightManagementInformation, FlagStrings.ScanFileProtect })] + [InlineData(RedumpSystem.HDDVDVideo, MediaType.HDDVD, true, 500, null, new string[] { FlagStrings.CopyrightManagementInformation })] + [InlineData(RedumpSystem.IBMPCcompatible, MediaType.DVD, false, 500, null, new string[] { FlagStrings.CopyrightManagementInformation, FlagStrings.ScanFileProtect })] + [InlineData(RedumpSystem.HDDVDVideo, MediaType.HDDVD, false, 500, null, new string[] { FlagStrings.CopyrightManagementInformation })] + /* reread c2 */ + [InlineData(RedumpSystem.SegaDreamcast, MediaType.GDROM, false, 1000, null, new string[] { FlagStrings.C2Opcode })] + [InlineData(RedumpSystem.SegaDreamcast, MediaType.GDROM, false, -1, null, new string[] { FlagStrings.C2Opcode })] + + public void ParametersFromOptionsTest(RedumpSystem? knownSystem, MediaType? mediaType, bool paranoid, int rereadC2, int? subchannelLevel, string[] expected) + { + var options = new Options { DICParanoidMode = paranoid, DICRereadCount = rereadC2 }; + var actual = new Parameters(knownSystem, mediaType, 'D', "disc.bin", 16, options); + + HashSet expectedSet = new HashSet(expected ?? new string[0]); + HashSet actualSet = new HashSet(actual.Keys ?? new string[0]); + Assert.Equal(expectedSet, actualSet); + if (rereadC2 == -1 || !knownSystem.MediaTypes().Contains(mediaType)) + Assert.Null(actual.C2OpcodeValue[0]); + else + Assert.Equal(rereadC2, actual.C2OpcodeValue[0]); + Assert.Equal(subchannelLevel, actual.SubchannelReadLevelValue); + } + + [Theory] + [InlineData(null, false)] + [InlineData("", false)] + [InlineData("cd F test.bin 8 /c2 20", true)] + [InlineData("fd A test.img", true)] + [InlineData("dvd X super\\test.iso 8 /raw", true)] + [InlineData("bd D longer\\path_test.iso 16", true)] + [InlineData("stop D", true)] + [InlineData("ls", false)] + public void ValidateParametersTest(string parameters, bool expected) + { + var actual = new Parameters(parameters); + Assert.Equal(expected, actual.IsValid()); + } + [Fact] public void DiscImageCreatorAudioParametersTest() { diff --git a/MPF.Test/Utilities/ValidatorsTest.cs b/MPF.Test/RedumpLib/ExtensionsTests.cs similarity index 68% rename from MPF.Test/Utilities/ValidatorsTest.cs rename to MPF.Test/RedumpLib/ExtensionsTests.cs index 56ca9ed3..a969eaf4 100644 --- a/MPF.Test/Utilities/ValidatorsTest.cs +++ b/MPF.Test/RedumpLib/ExtensionsTests.cs @@ -1,9 +1,9 @@ using RedumpLib.Data; using Xunit; -namespace MPF.Test.Utilities +namespace MPF.Test.RedumpLib { - public class ValidatorsTest + public class ExtensionsTests { [Theory] [InlineData(RedumpSystem.BandaiPippin, MediaType.CDROM)] @@ -17,19 +17,5 @@ namespace MPF.Test.Utilities var actual = knownSystem.MediaTypes(); Assert.Contains(expected, actual); } - - [Fact] - public void CreateListOfDrivesTest() - { - // TODO: Implement - Assert.True(true); - } - - [Fact] - public void GetDiscTypeTest() - { - // TODO: Implement - Assert.True(true); - } } } diff --git a/MPF.Test/Utilities/ParametersTest.cs b/MPF.Test/Utilities/ParametersTest.cs deleted file mode 100644 index 4af3fb4b..00000000 --- a/MPF.Test/Utilities/ParametersTest.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using MPF.Core.Data; -using MPF.Modules.DiscImageCreator; -using RedumpLib.Data; -using Xunit; - -namespace MPF.Test.Utilities -{ - public class ParametersTest - { - [Theory] - [InlineData(RedumpSystem.MicrosoftXbox, MediaType.CDROM, CommandStrings.CompactDisc)] - [InlineData(RedumpSystem.MicrosoftXbox, MediaType.DVD, CommandStrings.XBOX)] - [InlineData(RedumpSystem.MicrosoftXbox, MediaType.LaserDisc, null)] - [InlineData(RedumpSystem.SonyPlayStation3, MediaType.BluRay, CommandStrings.BluRay)] - [InlineData(RedumpSystem.AppleMacintosh, MediaType.FloppyDisk, CommandStrings.Floppy)] - [InlineData(RedumpSystem.RawThrillsVarious, MediaType.GDROM, null)] - public void ParametersFromSystemAndTypeTest(RedumpSystem? knownSystem, MediaType? mediaType, string expected) - { - var options = new Options { }; - var actual = new Parameters(knownSystem, mediaType, 'D', "disc.bin", 16, options); - Assert.Equal(expected, actual.BaseCommand); - } - - [Theory] - [InlineData(RedumpSystem.AppleMacintosh, MediaType.LaserDisc, true, 20, null, null)] - [InlineData(RedumpSystem.NintendoGameCube, MediaType.NintendoGameCubeGameDisc, false, 20, null, new string[] { FlagStrings.Raw })] - [InlineData(RedumpSystem.IBMPCcompatible, MediaType.DVD, false, 20, null, new string[] { FlagStrings.CopyrightManagementInformation, FlagStrings.ScanFileProtect })] - /* paranoid mode tests */ - [InlineData(RedumpSystem.IBMPCcompatible, MediaType.CDROM, true, 1000, 2, new string[] { FlagStrings.C2Opcode, FlagStrings.NoFixSubQSecuROM, FlagStrings.ScanFileProtect, FlagStrings.ScanSectorProtect, FlagStrings.SubchannelReadLevel })] - [InlineData(RedumpSystem.AppleMacintosh, MediaType.CDROM, false, 20, null, new string[] { FlagStrings.C2Opcode, FlagStrings.NoFixSubQSecuROM, FlagStrings.ScanFileProtect, FlagStrings.ScanSectorProtect, FlagStrings.SubchannelReadLevel })] - [InlineData(RedumpSystem.IBMPCcompatible, MediaType.DVD, true, 500, null, new string[] { FlagStrings.CopyrightManagementInformation, FlagStrings.ScanFileProtect })] - [InlineData(RedumpSystem.HDDVDVideo, MediaType.HDDVD, true, 500, null, new string[] { FlagStrings.CopyrightManagementInformation })] - [InlineData(RedumpSystem.IBMPCcompatible, MediaType.DVD, false, 500, null, new string[] { FlagStrings.CopyrightManagementInformation, FlagStrings.ScanFileProtect })] - [InlineData(RedumpSystem.HDDVDVideo, MediaType.HDDVD, false, 500, null, new string[] { FlagStrings.CopyrightManagementInformation })] - /* reread c2 */ - [InlineData(RedumpSystem.SegaDreamcast, MediaType.GDROM, false, 1000, null, new string[] { FlagStrings.C2Opcode })] - [InlineData(RedumpSystem.SegaDreamcast, MediaType.GDROM, false, -1, null, new string[] { FlagStrings.C2Opcode })] - - public void ParametersFromOptionsTest(RedumpSystem? knownSystem, MediaType? mediaType, bool paranoid, int rereadC2, int? subchannelLevel, string[] expected) - { - var options = new Options { DICParanoidMode = paranoid, DICRereadCount = rereadC2 }; - var actual = new Parameters(knownSystem, mediaType, 'D', "disc.bin", 16, options); - - HashSet expectedSet = new HashSet(expected ?? new string[0]); - HashSet actualSet = new HashSet(actual.Keys.Cast() ?? new string[0]); - Assert.Equal(expectedSet, actualSet); - if (rereadC2 == -1 || !knownSystem.MediaTypes().Contains(mediaType)) - Assert.Null(actual.C2OpcodeValue[0]); - else - Assert.Equal(rereadC2, actual.C2OpcodeValue[0]); - Assert.Equal(subchannelLevel, actual.SubchannelReadLevelValue); - } - - [Theory] - [InlineData(null, false)] - [InlineData("", false)] - [InlineData("cd F test.bin 8 /c2 20", true)] - [InlineData("fd A test.img", true)] - [InlineData("dvd X super\\test.iso 8 /raw", true)] - [InlineData("bd D longer\\path_test.iso 16", true)] - [InlineData("stop D", true)] - [InlineData("ls", false)] - public void ValidateParametersTest(string parameters, bool expected) - { - var actual = new Parameters(parameters); - Assert.Equal(expected, actual.IsValid()); - } - } -}