From 3d2e5997356e031c2414a171e10e0592cdb086e7 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 31 Jan 2025 23:03:25 -0500 Subject: [PATCH] Simplify only place CreateAndParse was called --- SabreTools.DatFiles/Parser.cs | 33 ++++++++++++------------- SabreTools.DatTools/Statistics.cs | 2 +- SabreTools.Test/DatTools/ParserTests.cs | 4 +-- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/SabreTools.DatFiles/Parser.cs b/SabreTools.DatFiles/Parser.cs index 0d8c61ee..7152bfcf 100644 --- a/SabreTools.DatFiles/Parser.cs +++ b/SabreTools.DatFiles/Parser.cs @@ -23,23 +23,6 @@ namespace SabreTools.DatFiles #endregion - /// - /// Create a DatFile and parse a file into it - /// - /// Name of the file to be parsed - /// True to only add item statistics while parsing, false otherwise - /// True if the error that is thrown should be thrown back to the caller, false otherwise - public static DatFile CreateAndParse(string? filename, bool statsOnly = false, bool throwOnError = false) - { - // Null filenames are invalid - if (filename == null) - return DatFileTool.CreateDatFile(); - - DatFile datFile = DatFileTool.CreateDatFile(); - ParseInto(datFile, new ParentablePath(filename), statsOnly: statsOnly, throwOnError: throwOnError); - return datFile; - } - /// /// Parse a DAT and return all found games and roms within /// @@ -119,6 +102,22 @@ namespace SabreTools.DatFiles watch.Stop(); } + /// + /// Create a DatFile and parse statistics into it + /// + /// Name of the file to be parsed + /// True if the error that is thrown should be thrown back to the caller, false otherwise + public static DatFile ParseStatistics(string? filename, bool throwOnError = false) + { + // Null filenames are invalid + if (filename == null) + return DatFileTool.CreateDatFile(); + + DatFile datFile = DatFileTool.CreateDatFile(); + ParseInto(datFile, new ParentablePath(filename), statsOnly: true, throwOnError: throwOnError); + return datFile; + } + /// /// Get what type of DAT the input file is /// diff --git a/SabreTools.DatTools/Statistics.cs b/SabreTools.DatTools/Statistics.cs index caaa8189..01ee447d 100644 --- a/SabreTools.DatTools/Statistics.cs +++ b/SabreTools.DatTools/Statistics.cs @@ -76,7 +76,7 @@ namespace SabreTools.DatTools InternalStopwatch watch = new($"Collecting statistics for '{file.CurrentPath}'"); List machines = []; - DatFile datdata = Parser.CreateAndParse(file.CurrentPath, statsOnly: true, throwOnError: throwOnError); + DatFile datdata = Parser.ParseStatistics(file.CurrentPath, throwOnError: throwOnError); // Add single DAT stats (if asked) if (single) diff --git a/SabreTools.Test/DatTools/ParserTests.cs b/SabreTools.Test/DatTools/ParserTests.cs index 5fc602d4..a0d302d7 100644 --- a/SabreTools.Test/DatTools/ParserTests.cs +++ b/SabreTools.Test/DatTools/ParserTests.cs @@ -37,13 +37,13 @@ namespace SabreTools.Test.DatTools [InlineData("test-sha384.sha384", DatFormat.RedumpSHA384, 1)] [InlineData("test-sha512.sha512", DatFormat.RedumpSHA512, 1)] [InlineData("test-spamsum.spamsum", DatFormat.RedumpSpamSum, 1)] - public void CreateAndParseTest(string? filename, DatFormat datFormat, int totalCount) + public void ParseStatisticsTest(string? filename, DatFormat datFormat, int totalCount) { // For all filenames, add the local path for test data if (filename != null) filename = Path.Combine(Environment.CurrentDirectory, "TestData", filename); - var datFile = Parser.CreateAndParse(filename, throwOnError: true); + var datFile = Parser.ParseStatistics(filename, throwOnError: true); Assert.Equal(datFormat, datFile.Header.GetFieldValue(DatHeader.DatFormatKey)); Assert.Equal(totalCount, datFile.Items.DatStatistics.TotalCount); Assert.Equal(totalCount, datFile.ItemsDB.DatStatistics.TotalCount);