From 998ecec26104b37b3beec24ac9dbfd348c5d1395 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 16 Jul 2024 13:08:28 -0400 Subject: [PATCH] Remove RedumpLib tests --- CHANGELIST.md | 1 + MPF.Test/RedumpLib/EnumExtensionsTests.cs | 201 ------ MPF.Test/RedumpLib/ExtensionsTests.cs | 717 ---------------------- MPF.Test/RedumpLib/SubmissionInfoTests.cs | 180 ------ 4 files changed, 1 insertion(+), 1098 deletions(-) delete mode 100644 MPF.Test/RedumpLib/EnumExtensionsTests.cs delete mode 100644 MPF.Test/RedumpLib/ExtensionsTests.cs delete mode 100644 MPF.Test/RedumpLib/SubmissionInfoTests.cs diff --git a/CHANGELIST.md b/CHANGELIST.md index a3587609..563109bd 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -41,6 +41,7 @@ - Fix parameters after extension change - Fix logic for deducing region from PlayStation ISN (John Veness) - Fix broken test logic +- Remove RedumpLib tests ### 3.2.0 (2024-06-20) diff --git a/MPF.Test/RedumpLib/EnumExtensionsTests.cs b/MPF.Test/RedumpLib/EnumExtensionsTests.cs deleted file mode 100644 index f96b9ce1..00000000 --- a/MPF.Test/RedumpLib/EnumExtensionsTests.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using SabreTools.RedumpLib.Data; -using Xunit; - -namespace MPF.Test.RedumpLib -{ - public class EnumExtensionsTests - { - /// - /// MediaType values that support drive speeds - /// - private static readonly MediaType?[] _supportDriveSpeeds = - [ - MediaType.CDROM, - MediaType.DVD, - MediaType.GDROM, - MediaType.HDDVD, - MediaType.BluRay, - MediaType.NintendoGameCubeGameDisc, - MediaType.NintendoWiiOpticalDisc, - ]; - - /// - /// RedumpSystem values that are considered Audio - /// - private static readonly RedumpSystem?[] _audioSystems = - [ - RedumpSystem.AtariJaguarCDInteractiveMultimediaSystem, - RedumpSystem.AudioCD, - RedumpSystem.DVDAudio, - RedumpSystem.HasbroiONEducationalGamingSystem, - RedumpSystem.HasbroVideoNow, - RedumpSystem.HasbroVideoNowColor, - RedumpSystem.HasbroVideoNowJr, - RedumpSystem.HasbroVideoNowXP, - RedumpSystem.PlayStationGameSharkUpdates, - RedumpSystem.PhilipsCDi, - RedumpSystem.SuperAudioCD, - ]; - - /// - /// RedumpSystem values that are considered markers - /// - private static readonly RedumpSystem?[] _markerSystems = - [ - RedumpSystem.MarkerArcadeEnd, - RedumpSystem.MarkerComputerEnd, - RedumpSystem.MarkerDiscBasedConsoleEnd, - RedumpSystem.MarkerOtherEnd, - ]; - - /// - /// RedumpSystem values that are have reversed ringcodes - /// - private static readonly RedumpSystem?[] _reverseRingcodeSystems = - [ - RedumpSystem.SonyPlayStation2, - RedumpSystem.SonyPlayStation3, - RedumpSystem.SonyPlayStation4, - RedumpSystem.SonyPlayStation5, - RedumpSystem.SonyPlayStationPortable, - ]; - - /// - /// RedumpSystem values that are considered XGD - /// - private static readonly RedumpSystem?[] _xgdSystems = - [ - RedumpSystem.MicrosoftXbox, - RedumpSystem.MicrosoftXbox360, - RedumpSystem.MicrosoftXboxOne, - RedumpSystem.MicrosoftXboxSeriesXS, - ]; - - /// - /// Check that all systems with reversed ringcodes are marked properly - /// - /// RedumpSystem value to check - /// The expected value to come from the check - [Theory] - [MemberData(nameof(GenerateReversedRingcodeSystemsTestData))] - public void HasReversedRingcodesTest(RedumpSystem? redumpSystem, bool expected) - { - bool actual = redumpSystem.HasReversedRingcodes(); - Assert.Equal(expected, actual); - } - - /// - /// Check that all audio systems are marked properly - /// - /// RedumpSystem value to check - /// The expected value to come from the check - [Theory] - [MemberData(nameof(GenerateAudioSystemsTestData))] - public void IsAudioTest(RedumpSystem? redumpSystem, bool expected) - { - bool actual = redumpSystem.IsAudio(); - Assert.Equal(expected, actual); - } - - /// - /// Check that all marker systems are marked properly - /// - /// RedumpSystem value to check - /// The expected value to come from the check - [Theory] - [MemberData(nameof(GenerateMarkerSystemsTestData))] - public void IsMarkerTest(RedumpSystem? redumpSystem, bool expected) - { - bool actual = redumpSystem.IsMarker(); - Assert.Equal(expected, actual); - } - - /// - /// Check that all XGD systems are marked properly - /// - /// RedumpSystem value to check - /// The expected value to come from the check - [Theory] - [MemberData(nameof(GenerateXGDSystemsTestData))] - public void IsXGDTest(RedumpSystem? redumpSystem, bool expected) - { - bool actual = redumpSystem.IsXGD(); - Assert.Equal(expected, actual); - } - - /// - /// Generate a test set of RedumpSystem values that are considered Audio - /// - /// MemberData-compatible list of RedumpSystem values - public static List GenerateAudioSystemsTestData() - { - var testData = new List() { new object?[] { null, false } }; - foreach (RedumpSystem redumpSystem in Enum.GetValues(typeof(RedumpSystem))) - { - if (_audioSystems.Contains(redumpSystem)) - testData.Add([redumpSystem, true]); - else - testData.Add([redumpSystem, false]); - } - - return testData; - } - - /// - /// Generate a test set of RedumpSystem values that are considered markers - /// - /// MemberData-compatible list of RedumpSystem values - public static List GenerateMarkerSystemsTestData() - { - var testData = new List() { new object?[] { null, false } }; - foreach (RedumpSystem redumpSystem in Enum.GetValues(typeof(RedumpSystem))) - { - if (_markerSystems.Contains(redumpSystem)) - testData.Add([redumpSystem, true]); - else - testData.Add([redumpSystem, false]); - } - - return testData; - } - - /// - /// Generate a test set of RedumpSystem values that are considered markers - /// - /// MemberData-compatible list of RedumpSystem values - public static List GenerateReversedRingcodeSystemsTestData() - { - var testData = new List() { new object?[] { null, false } }; - foreach (RedumpSystem redumpSystem in Enum.GetValues(typeof(RedumpSystem))) - { - if (_reverseRingcodeSystems.Contains(redumpSystem)) - testData.Add([redumpSystem, true]); - else - testData.Add([redumpSystem, false]); - } - - return testData; - } - - /// - /// Generate a test set of RedumpSystem values that are considered XGD - /// - /// MemberData-compatible list of RedumpSystem values - public static List GenerateXGDSystemsTestData() - { - var testData = new List() { new object?[] { null, false } }; - foreach (RedumpSystem redumpSystem in Enum.GetValues(typeof(RedumpSystem))) - { - if (_xgdSystems.Contains(redumpSystem)) - testData.Add([redumpSystem, true]); - else - testData.Add([redumpSystem, false]); - } - - return testData; - } - } -} diff --git a/MPF.Test/RedumpLib/ExtensionsTests.cs b/MPF.Test/RedumpLib/ExtensionsTests.cs deleted file mode 100644 index 90ee81f1..00000000 --- a/MPF.Test/RedumpLib/ExtensionsTests.cs +++ /dev/null @@ -1,717 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using SabreTools.RedumpLib.Data; -using Xunit; - -namespace MPF.Test.RedumpLib -{ - // TODO: Add tests for string-to-enum conversion - public class ExtensionsTests - { - #region Cross-Enumeration - - /// - /// DiscType values that map to MediaType - /// - private static readonly DiscType?[] _mappableDiscTypes = new DiscType?[] - { - DiscType.BD25, - DiscType.BD33, - DiscType.BD50, - DiscType.BD66, - DiscType.BD100, - DiscType.BD128, - DiscType.CD, - DiscType.DVD5, - DiscType.DVD9, - DiscType.GDROM, - DiscType.HDDVDSL, - DiscType.HDDVDDL, - DiscType.NintendoGameCubeGameDisc, - DiscType.NintendoWiiOpticalDiscSL, - DiscType.NintendoWiiOpticalDiscDL, - DiscType.NintendoWiiUOpticalDiscSL, - DiscType.UMDSL, - DiscType.UMDDL, - }; - - /// - /// MediaType values that map to DiscType - /// - private static readonly MediaType?[] _mappableMediaTypes = new MediaType?[] - { - MediaType.BluRay, - MediaType.CDROM, - MediaType.DVD, - MediaType.GDROM, - MediaType.HDDVD, - MediaType.NintendoGameCubeGameDisc, - MediaType.NintendoWiiOpticalDisc, - MediaType.NintendoWiiUOpticalDisc, - MediaType.UMD, - }; - - /// - /// Check that every supported system has some set of MediaTypes supported - /// - /// RedumpSystem value to check - [Theory] - [MemberData(nameof(GenerateRedumpSystemMappingTestData))] - public void MediaTypesTest(RedumpSystem? redumpSystem) - { - var actual = redumpSystem.MediaTypes(); - Assert.NotEmpty(actual); - } - - /// - /// Check that both mappable and unmappable media types output correctly - /// - /// MediaType value to check - /// True to expect a null mapping, false otherwise - [Theory] - [MemberData(nameof(GenerateMediaTypeMappingTestData))] - public void ToDiscTypeTest(MediaType? mediaType, bool expectNull) - { - DiscType? actual = mediaType.ToDiscType(); - Assert.Equal(expectNull, actual == null); - } - - /// - /// Check that DiscType values all map to something appropriate - /// - /// DiscType value to check - /// True to expect a null mapping, false otherwise - [Theory] - [MemberData(nameof(GenerateDiscTypeMappingTestData))] - public void ToMediaTypeTest(DiscType? discType, bool expectNull) - { - MediaType? actual = discType.ToMediaType(); - Assert.Equal(expectNull, actual == null); - } - - /// - /// Generate a test set of DiscType values - /// - /// MemberData-compatible list of DiscType values - public static List GenerateDiscTypeMappingTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (DiscType? discType in Enum.GetValues(typeof(DiscType))) - { - if (_mappableDiscTypes.Contains(discType)) - testData.Add(new object?[] { discType, false }); - else - testData.Add(new object?[] { discType, true }); - } - - return testData; - } - - /// - /// Generate a test set of RedumpSystem values - /// - /// MemberData-compatible list of RedumpSystem values - public static List GenerateRedumpSystemMappingTestData() - { - var testData = new List() { new object?[] { null } }; - foreach (RedumpSystem? redumpSystem in Enum.GetValues(typeof(RedumpSystem))) - { - testData.Add(new object?[] { redumpSystem }); - } - - return testData; - } - - /// - /// Generate a test set of mappable media types - /// - /// MemberData-compatible list of MediaTypes - public static List GenerateMediaTypeMappingTestData() - { - var testData = new List() { new object?[] { null, true } }; - - foreach (MediaType? mediaType in Enum.GetValues(typeof(MediaType))) - { - if (_mappableMediaTypes.Contains(mediaType)) - testData.Add(new object?[] { mediaType, false }); - else - testData.Add(new object?[] { mediaType, true }); - } - - return testData; - } - - #endregion - - #region Disc Category - - /// - /// Check that every DiscCategory has a long name provided - /// - /// DiscCategory value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateDiscCategoryTestData))] - public void DiscCategoryLongNameTest(DiscCategory? discCategory, bool expectNull) - { - var actual = discCategory.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Generate a test set of DiscCategory values - /// - /// MemberData-compatible list of DiscCategory values - public static List GenerateDiscCategoryTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (DiscCategory? discCategory in Enum.GetValues(typeof(DiscCategory))) - { - testData.Add(new object?[] { discCategory, false }); - } - - return testData; - } - - #endregion - - #region Disc Type - - /// - /// Check that every DiscType has a long name provided - /// - /// DiscType value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateDiscTypeTestData))] - public void DiscTypeLongNameTest(DiscType? discType, bool expectNull) - { - var actual = discType.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Generate a test set of DiscType values - /// - /// MemberData-compatible list of DiscType values - public static List GenerateDiscTypeTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (DiscType? discType in Enum.GetValues(typeof(DiscType))) - { - if (discType == DiscType.NONE) - testData.Add(new object?[] { discType, true }); - else - testData.Add(new object?[] { discType, false }); - } - - return testData; - } - - #endregion - - #region Language - - /// - /// Check that every Language has a long name provided - /// - /// Language value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateLanguageTestData))] - public void LanguageLongNameTest(Language? language, bool expectNull) - { - var actual = language.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Check that every Language has a short name provided - /// - /// Language value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateLanguageTestData))] - public void LanguageShortNameTest(Language? language, bool expectNull) - { - var actual = language.ShortName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Ensure that every Language that has an ISO 639-1 code is unique - /// - [Fact] - public void LanguageNoDuplicateTwoLetterCodeTest() - { - var fullLanguages = Enum.GetValues(typeof(Language)).Cast().ToList(); - var filteredLanguages = new Dictionary(); - - int totalCount = 0; - foreach (Language? language in fullLanguages) - { - var code = language.TwoLetterCode(); - if (string.IsNullOrEmpty(code)) - continue; - - // Throw if the code already exists - if (filteredLanguages.ContainsKey(code)) - throw new DuplicateNameException($"Code {code} already in dictionary"); - - filteredLanguages[code] = language; - totalCount++; - } - - Assert.Equal(totalCount, filteredLanguages.Count); - } - - /// - /// Ensure that every Language that has a standard/bibliographic ISO 639-2 code is unique - /// - [Fact] - public void LanguageNoDuplicateThreeLetterCodeTest() - { - var fullLanguages = Enum.GetValues(typeof(Language)).Cast().ToList(); - var filteredLanguages = new Dictionary(); - - int totalCount = 0; - foreach (Language? language in fullLanguages) - { - var code = language.ThreeLetterCode(); - if (string.IsNullOrEmpty(code)) - continue; - - // Throw if the code already exists - if (filteredLanguages.ContainsKey(code)) - throw new DuplicateNameException($"Code {code} already in dictionary"); - - filteredLanguages[code] = language; - totalCount++; - } - - Assert.Equal(totalCount, filteredLanguages.Count); - } - - /// - /// Ensure that every Language that has a terminology ISO 639-2 code is unique - /// - [Fact] - public void LanguageNoDuplicateThreeLetterCodeAltTest() - { - var fullLanguages = Enum.GetValues(typeof(Language)).Cast().ToList(); - var filteredLanguages = new Dictionary(); - - int totalCount = 0; - foreach (Language? language in fullLanguages) - { - var code = language.ThreeLetterCodeAlt(); - if (string.IsNullOrEmpty(code)) - continue; - - // Throw if the code already exists - if (filteredLanguages.ContainsKey(code)) - throw new DuplicateNameException($"Code {code} already in dictionary"); - - filteredLanguages[code] = language; - totalCount++; - } - - Assert.Equal(totalCount, filteredLanguages.Count); - } - - /// - /// Generate a test set of Language values - /// - /// MemberData-compatible list of Language values - public static List GenerateLanguageTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (Language? language in Enum.GetValues(typeof(Language))) - { - testData.Add(new object?[] { language, false }); - } - - return testData; - } - - #endregion - - #region Language Selection - - /// - /// Check that every LanguageSelection has a long name provided - /// - /// LanguageSelection value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateLanguageSelectionTestData))] - public void LanguageSelectionLongNameTest(LanguageSelection? languageSelection, bool expectNull) - { - var actual = languageSelection.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Generate a test set of LanguageSelection values - /// - /// MemberData-compatible list of LanguageSelection values - public static List GenerateLanguageSelectionTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (LanguageSelection? languageSelection in Enum.GetValues(typeof(LanguageSelection))) - { - testData.Add(new object?[] { languageSelection, false }); - } - - return testData; - } - - #endregion - - #region Media Type - - /// - /// Check that every MediaType has a long name provided - /// - /// MediaType value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateMediaTypeTestData))] - public void MediaTypeLongNameTest(MediaType? mediaType, bool expectNull) - { - var actual = mediaType.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Check that every MediaType has a short name provided - /// - /// MediaType value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateMediaTypeTestData))] - public void MediaTypeShortNameTest(MediaType? mediaType, bool expectNull) - { - var actual = mediaType.ShortName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Generate a test set of MediaType values - /// - /// MemberData-compatible list of MediaType values - public static List GenerateMediaTypeTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (MediaType? mediaType in Enum.GetValues(typeof(MediaType))) - { - testData.Add(new object?[] { mediaType, false }); - } - - return testData; - } - - #endregion - - #region Region - - /// - /// Check that every Region has a long name provided - /// - /// Region value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateRegionTestData))] - public void RegionLongNameTest(Region? region, bool expectNull) - { - var actual = region.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Check that every Region has a short name provided - /// - /// Region value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateRegionTestData))] - public void RegionShortNameTest(Region? region, bool expectNull) - { - var actual = region.ShortName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Ensure that every Language that has an ISO 639-1 code is unique - /// - [Fact] - public void RegionNoDuplicateShortNameTest() - { - var fullRegions = Enum.GetValues(typeof(Region)).Cast().ToList(); - var filteredRegions = new Dictionary(); - - int totalCount = 0; - foreach (Region? region in fullRegions) - { - var code = region.ShortName(); - if (string.IsNullOrEmpty(code)) - continue; - - // Throw if the code already exists - if (filteredRegions.ContainsKey(code)) - throw new DuplicateNameException($"Code {code} already in dictionary"); - - filteredRegions[code] = region; - totalCount++; - } - - Assert.Equal(totalCount, filteredRegions.Count); - } - - /// - /// Generate a test set of Region values - /// - /// MemberData-compatible list of Region values - public static List GenerateRegionTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (Region? region in Enum.GetValues(typeof(Region))) - { - testData.Add(new object?[] { region, false }); - } - - return testData; - } - - #endregion - - #region Site Code - - /// - /// Check that every SiteCode has a long name provided - /// - /// SiteCode value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateSiteCodeTestData))] - public void SiteCodeLongNameTest(SiteCode? siteCode, bool expectNull) - { - var actual = siteCode.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Check that every SiteCode has a short name provided - /// - /// SiteCode value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateSiteCodeTestData))] - public void SiteCodeShortNameTest(SiteCode? siteCode, bool expectNull) - { - var actual = siteCode.ShortName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Generate a test set of SiteCode values - /// - /// MemberData-compatible list of SiteCode values - public static List GenerateSiteCodeTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (SiteCode? siteCode in Enum.GetValues(typeof(SiteCode))) - { - testData.Add(new object?[] { siteCode, false }); - } - - return testData; - } - - #endregion - - #region System - - /// - /// Check that every RedumpSystem has a long name provided - /// - /// RedumpSystem value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateRedumpSystemTestData))] - public void RedumpSystemLongNameTest(RedumpSystem? redumpSystem, bool expectNull) - { - var actual = redumpSystem.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - // TODO: Re-enable the following test once non-Redump systems are accounted for - - /// - /// Check that every RedumpSystem has a short name provided - /// - /// RedumpSystem value to check - /// True to expect a null value, false otherwise - //[Theory] - //[MemberData(nameof(GenerateRedumpSystemTestData))] - //public void RedumpSystemShortNameTest(RedumpSystem? redumpSystem, bool expectNull) - //{ - // string actual = redumpSystem.ShortName(); - - // if (expectNull) - // Assert.Null(actual); - // else - // Assert.NotNull(actual); - //} - - // TODO: Test the other attributes as well - // Most are bool checks so they're not as interesting to have unit tests around - // SystemCategory always returns something as well, so is it worth testing? - - /// - /// Generate a test set of RedumpSystem values - /// - /// MemberData-compatible list of RedumpSystem values - public static List GenerateRedumpSystemTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (RedumpSystem? redumpSystem in Enum.GetValues(typeof(RedumpSystem))) - { - // We want to skip all markers for this - if (redumpSystem.IsMarker()) - continue; - - testData.Add(new object?[] { redumpSystem, false }); - } - - return testData; - } - - #endregion - - #region System Category - - /// - /// Check that every SystemCategory has a long name provided - /// - /// SystemCategory value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateSystemCategoryTestData))] - public void SystemCategoryLongNameTest(SystemCategory? systemCategory, bool expectNull) - { - var actual = systemCategory.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Generate a test set of SystemCategory values - /// - /// MemberData-compatible list of SystemCategory values - public static List GenerateSystemCategoryTestData() - { - var testData = new List() { new object?[] { null, true } }; - foreach (SystemCategory? systemCategory in Enum.GetValues(typeof(SystemCategory))) - { - if (systemCategory == SystemCategory.NONE) - testData.Add(new object?[] { systemCategory, true }); - else - testData.Add(new object?[] { systemCategory, false }); - } - - return testData; - } - - #endregion - - #region Yes/No - - /// - /// Check that every YesNo has a long name provided - /// - /// YesNo value to check - /// True to expect a null value, false otherwise - [Theory] - [MemberData(nameof(GenerateYesNoTestData))] - public void YesNoLongNameTest(YesNo? yesNo, bool expectNull) - { - string actual = yesNo.LongName(); - - if (expectNull) - Assert.Null(actual); - else - Assert.NotNull(actual); - } - - /// - /// Generate a test set of YesNo values - /// - /// MemberData-compatible list of YesNo values - public static List GenerateYesNoTestData() - { - var testData = new List() { new object?[] { null, false } }; - foreach (YesNo? yesNo in Enum.GetValues(typeof(YesNo))) - { - testData.Add(new object?[] { yesNo, false }); - } - - return testData; - } - - #endregion - } -} diff --git a/MPF.Test/RedumpLib/SubmissionInfoTests.cs b/MPF.Test/RedumpLib/SubmissionInfoTests.cs deleted file mode 100644 index 906318d9..00000000 --- a/MPF.Test/RedumpLib/SubmissionInfoTests.cs +++ /dev/null @@ -1,180 +0,0 @@ -using System; -using System.Collections.Generic; -using Newtonsoft.Json; -using SabreTools.RedumpLib.Data; -using Xunit; - -namespace MPF.Test.RedumpLib -{ - public class SubmissionInfoTests - { - [Fact] - public void EmptySerializationTest() - { - var submissionInfo = new SubmissionInfo(); - string json = JsonConvert.SerializeObject(submissionInfo, Formatting.Indented); - Assert.NotNull(json); - } - - [Fact] - public void PartialSerializationTest() - { - var submissionInfo = new SubmissionInfo() - { - CommonDiscInfo = new CommonDiscInfoSection(), - VersionAndEditions = new VersionAndEditionsSection(), - EDC = new EDCSection(), - ParentCloneRelationship = new ParentCloneRelationshipSection(), - Extras = new ExtrasSection(), - CopyProtection = new CopyProtectionSection(), - DumpersAndStatus = new DumpersAndStatusSection(), - TracksAndWriteOffsets = new TracksAndWriteOffsetsSection(), - SizeAndChecksums = new SizeAndChecksumsSection(), - }; - - string json = JsonConvert.SerializeObject(submissionInfo, Formatting.Indented); - Assert.NotNull(json); - } - - [Fact] - public void FullSerializationTest() - { - var submissionInfo = new SubmissionInfo() - { - SchemaVersion = 1, - FullyMatchedID = 3, - PartiallyMatchedIDs = new List { 0, 1, 2, 3 }, - Added = DateTime.UtcNow, - LastModified = DateTime.UtcNow, - - CommonDiscInfo = new CommonDiscInfoSection() - { - System = RedumpSystem.IBMPCcompatible, - Media = DiscType.CD, - Title = "Game Title", - ForeignTitleNonLatin = "Foreign Game Title", - DiscNumberLetter = "1", - DiscTitle = "Install Disc", - Category = DiscCategory.Games, - Region = Region.World, - Languages = new Language?[] { Language.English, Language.Spanish, Language.French }, - LanguageSelection = new LanguageSelection?[] { LanguageSelection.BiosSettings }, - Serial = "Disc Serial", - Layer0MasteringRing = "L0 Mastering Ring", - Layer0MasteringSID = "L0 Mastering SID", - Layer0ToolstampMasteringCode = "L0 Toolstamp", - Layer0MouldSID = "L0 Mould SID", - Layer0AdditionalMould = "L0 Additional Mould", - Layer1MasteringRing = "L1 Mastering Ring", - Layer1MasteringSID = "L1 Mastering SID", - Layer1ToolstampMasteringCode = "L1 Toolstamp", - Layer1MouldSID = "L1 Mould SID", - Layer1AdditionalMould = "L1 Additional Mould", - Layer2MasteringRing = "L2 Mastering Ring", - Layer2MasteringSID = "L2 Mastering SID", - Layer2ToolstampMasteringCode = "L2 Toolstamp", - Layer3MasteringRing = "L3 Mastering Ring", - Layer3MasteringSID = "L3 Mastering SID", - Layer3ToolstampMasteringCode = "L3 Toolstamp", - RingWriteOffset = "+12", - Barcode = "UPC Barcode", - EXEDateBuildDate = "19xx-xx-xx", - ErrorsCount = "0", - Comments = "Comment data line 1\r\nComment data line 2", - CommentsSpecialFields = new Dictionary() - { - [SiteCode.ISBN] = "ISBN", - }, - Contents = "Special contents 1\r\nSpecial contents 2", - ContentsSpecialFields = new Dictionary() - { - [SiteCode.PlayableDemos] = "Game Demo 1", - }, - }, - - VersionAndEditions = new VersionAndEditionsSection() - { - Version = "Original", - VersionDatfile = "Alt", - CommonEditions = new string[] { "Taikenban" }, - OtherEditions = "Rerelease", - }, - - EDC = new EDCSection() - { - EDC = YesNo.Yes, - }, - - ParentCloneRelationship = new ParentCloneRelationshipSection() - { - ParentID = "12345", - RegionalParent = false, - }, - - Extras = new ExtrasSection() - { - PVD = "PVD", - DiscKey = "Disc key", - DiscID = "Disc ID", - PIC = "PIC", - Header = "Header", - BCA = "BCA", - SecuritySectorRanges = "SSv1 Ranges", - }, - - CopyProtection = new CopyProtectionSection() - { - AntiModchip = YesNo.Yes, - LibCrypt = YesNo.No, - LibCryptData = "LibCrypt data", - Protection = "List of protections", - SecuROMData = "SecuROM data", - }, - - DumpersAndStatus = new DumpersAndStatusSection() - { - Status = DumpStatus.TwoOrMoreGreen, - Dumpers = new string[] { "Dumper1", "Dumper2" }, - OtherDumpers = "Dumper3", - }, - - TracksAndWriteOffsets = new TracksAndWriteOffsetsSection() - { - ClrMameProData = "Datfile", - Cuesheet = "Cuesheet", - CommonWriteOffsets = new int[] { 0, 12, -12 }, - OtherWriteOffsets = "-2", - }, - - SizeAndChecksums = new SizeAndChecksumsSection() - { - Layerbreak = 0, - Layerbreak2 = 1, - Layerbreak3 = 2, - Size = 12345, - CRC32 = "CRC32", - MD5 = "MD5", - SHA1 = "SHA1", - }, - - DumpingInfo = new DumpingInfoSection() - { - DumpingProgram = "DiscImageCreator 20500101", - DumpingDate = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"), - Manufacturer = "ATAPI", - Model = "Optical Drive", - Firmware = "1.23", - ReportedDiscType = "CD-R", - }, - - Artifacts = new Dictionary() - { - ["Sample Artifact"] = "Sample Data", - }, - }; - - string json = JsonConvert.SerializeObject(submissionInfo, Formatting.Indented); - Assert.NotNull(json); - } - } -}