From 0cf44980a9be74d3b55679d69860532d9ebb86e5 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sun, 20 Dec 2020 21:18:02 -0800 Subject: [PATCH] Parser tests, part 3 --- SabreTools.DatFiles/Formats/DosCenter.cs | 2 +- SabreTools.Test/DatTools/ParserTests.cs | 5 +- SabreTools.Test/TestData/test-cmp.dat | 2 +- SabreTools.Test/TestData/test-doscenter.dat | 14 ++++++ SabreTools.Test/TestData/test-logiqx.xml | 56 +++++++++++++++++++++ 5 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 SabreTools.Test/TestData/test-doscenter.dat create mode 100644 SabreTools.Test/TestData/test-logiqx.xml diff --git a/SabreTools.DatFiles/Formats/DosCenter.cs b/SabreTools.DatFiles/Formats/DosCenter.cs index 6b9d85e2..2036c5f2 100644 --- a/SabreTools.DatFiles/Formats/DosCenter.cs +++ b/SabreTools.DatFiles/Formats/DosCenter.cs @@ -118,7 +118,7 @@ namespace SabreTools.DatFiles.Formats case "description": Header.Description ??= itemVal; break; - case "dersion": + case "version": Header.Version ??= itemVal; break; case "date": diff --git a/SabreTools.Test/DatTools/ParserTests.cs b/SabreTools.Test/DatTools/ParserTests.cs index 0d44d305..97bdd905 100644 --- a/SabreTools.Test/DatTools/ParserTests.cs +++ b/SabreTools.Test/DatTools/ParserTests.cs @@ -11,10 +11,9 @@ namespace SabreTools.Test.DatTools { // TODO: Create files for each of these // TODO: Ensure that all stress all bits of reading - // TODO: Add total count? Might be a good metric if everything read [Theory] [InlineData(null, (DatFormat)0x00, 0)] - //[InlineData(null, DatFormat.Logiqx, 0)] + [InlineData("test-logiqx.xml", DatFormat.Logiqx, 6)] //[InlineData(null, DatFormat.LogiqxDeprecated, 0)] // Not parsed separately //[InlineData(null, DatFormat.SoftwareList, 0)] //[InlineData(null, DatFormat.Listxml, 0)] @@ -23,7 +22,7 @@ namespace SabreTools.Test.DatTools [InlineData("test-openmsx.xml", DatFormat.OpenMSX, 3)] [InlineData("test-cmp.dat", DatFormat.ClrMamePro, 6)] //[InlineData(null, DatFormat.RomCenter, 0)] - //[InlineData(null, DatFormat.DOSCenter, 0)] + [InlineData("test-doscenter.dat", DatFormat.DOSCenter, 1)] [InlineData("test-attractmode.txt", DatFormat.AttractMode, 1)] //[InlineData(null, DatFormat.MissFile, 0)] // Parsing is not supported //[InlineData(null, DatFormat.CSV, 0)] diff --git a/SabreTools.Test/TestData/test-cmp.dat b/SabreTools.Test/TestData/test-cmp.dat index 80e733c0..466f487a 100644 --- a/SabreTools.Test/TestData/test-cmp.dat +++ b/SabreTools.Test/TestData/test-cmp.dat @@ -2,7 +2,7 @@ clrmamepro ( name "Internal DAT Name" description "Internal DAT Name" rootdir "root" - category "games" + category "Games" version "1.0" date "1900-01-01" author "Unknown" diff --git a/SabreTools.Test/TestData/test-doscenter.dat b/SabreTools.Test/TestData/test-doscenter.dat new file mode 100644 index 00000000..4cfae14a --- /dev/null +++ b/SabreTools.Test/TestData/test-doscenter.dat @@ -0,0 +1,14 @@ +doscenter ( + name "Internal DAT Name" + description "Internal DAT Name" + version "1.0" + date "1900-01-01" + author "Unknown" + homepage "127.0.0.1" + comment "Not real data, sorry" +) + +game ( + name "game1.zip" + file ( name "rom.bin" size 1024 crc DEADBEEF date 1980-01-01 12:00 ) +) \ No newline at end of file diff --git a/SabreTools.Test/TestData/test-logiqx.xml b/SabreTools.Test/TestData/test-logiqx.xml new file mode 100644 index 00000000..e438e3ff --- /dev/null +++ b/SabreTools.Test/TestData/test-logiqx.xml @@ -0,0 +1,56 @@ + + + + +
+ Internal DAT Name + Internal DAT Name + root + Games + 1.0 + 1900-01-01 + Unknown + email@email.email + localhost + 127.0.0.1 + Not real data, sorry + SuperDAT + + +
+ + + + Not a real game, sorry + Game! (Version 1) + 1980 + Manufacturer + Publisher + Arcade + + 0001 + Publisher + Developer + 1980 + Action + Adventure + 5 + 100 + 4 + Yes + DEADBEEF + Official + game2 + game3 + + + + + + + + + + + +
\ No newline at end of file