From 3c6cfef070daedd9ca8e62183bd91b985fdc0c69 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 2 Apr 2026 23:45:17 -0400 Subject: [PATCH] Convert size keys to size properties --- .../MetadataExtensions.cs | 8 +- SabreTools.Data.Models/ClrMamePro/Rom.cs | 2 +- SabreTools.Data.Models/DosCenter/File.cs | 2 +- SabreTools.Data.Models/EverdriveSMDB/Row.cs | 2 +- SabreTools.Data.Models/Listrom/Row.cs | 2 +- SabreTools.Data.Models/Listxml/Rom.cs | 3 +- SabreTools.Data.Models/Logiqx/Rom.cs | 2 +- SabreTools.Data.Models/Metadata/DataArea.cs | 5 +- SabreTools.Data.Models/Metadata/Rom.cs | 5 +- SabreTools.Data.Models/OfflineList/Game.cs | 2 +- SabreTools.Data.Models/RomCenter/Rom.cs | 2 +- SabreTools.Data.Models/SeparatedValue/Row.cs | 2 +- .../SoftwareList/DataArea.cs | 2 +- SabreTools.Data.Models/SoftwareList/Rom.cs | 2 +- .../DatFileTests.FromMetadata.cs | 8 +- .../DatFileTests.Splitting.cs | 114 ++++++------------ .../DatFileTests.ToMetadata.cs | 4 +- .../DatFileTests.cs | 78 ++++++------ .../DatStatisticsTests.cs | 2 +- .../FormatsTests.cs | 22 ++-- .../ItemDictionaryDBTests.cs | 65 ++++------ .../ItemDictionaryTests.cs | 65 ++++------ .../DatFile.FromMetadata.cs | 6 +- .../DatFile.ToMetadata.cs | 4 +- SabreTools.Metadata.DatFiles/DatFile.cs | 8 +- SabreTools.Metadata.DatFiles/DatStatistics.cs | 4 +- .../Formats/ClrMamePro.cs | 4 +- .../Formats/DosCenter.cs | 4 +- .../Formats/Listrom.cs | 4 +- .../Formats/Listxml.cs | 4 +- .../Formats/Logiqx.cs | 4 +- .../Formats/OfflineList.cs | 4 +- .../Formats/RomCenter.cs | 4 +- .../Formats/SeparatedValue.cs | 4 +- .../Formats/SoftwareList.cs | 6 +- .../ItemDictionary.cs | 4 +- .../ItemDictionaryDB.cs | 4 +- .../Formats/FileTests.cs | 2 +- .../Formats/DataArea.cs | 10 +- SabreTools.Metadata.DatItems/Formats/File.cs | 2 +- SabreTools.Metadata.DatItems/Formats/Rom.cs | 16 ++- SabreTools.Metadata.Filter/FilterObject.cs | 6 + SabreTools.Metadata.Filter/FilterRunner.cs | 8 +- .../DictionaryBaseExtensionsTests.cs | 68 +++++------ .../DictionaryBaseExtensions.cs | 4 +- .../ArchiveDotOrgTests.cs | 4 +- .../ClrMameProTests.cs | 4 +- .../DosCenterTests.cs | 4 +- .../EverdriveSMDBTests.cs | 4 +- .../ListromTests.cs | 4 +- .../ListxmlTests.cs | 4 +- .../LogiqxTests.cs | 4 +- .../M1Tests.cs | 4 +- .../MessTests.cs | 4 +- .../OfflineListTests.cs | 4 +- .../RomCenterTests.cs | 4 +- .../SeparatedValueTests.cs | 4 +- .../SoftwareListTests.cs | 8 +- .../ArchiveDotOrg.Deserializer.cs | 2 +- .../ArchiveDotOrg.Serializer.cs | 3 +- .../ClrMamePro.Deserializer.cs | 2 +- .../ClrMamePro.Serializer.cs | 2 +- .../DosCenter.Deserializer.cs | 2 +- .../DosCenter.Serializer.cs | 2 +- .../EverdriveSMDB.Deserializer.cs | 2 +- .../EverdriveSMDB.Serializer.cs | 2 +- .../Listrom.Deserializer.cs | 2 +- .../Listrom.Serializer.cs | 2 +- .../Listxml.Deserializer.cs | 2 +- .../Listxml.Serializer.cs | 2 +- .../Logiqx.Deserializer.cs | 2 +- .../Logiqx.Serializer.cs | 2 +- .../OfflineList.Deserializer.cs | 4 +- .../OfflineList.Serializer.cs | 2 +- .../RomCenter.Deserializer.cs | 2 +- .../RomCenter.Serializer.cs | 2 +- .../SeparatedValue.Deserializer.cs | 2 +- .../SeparatedValue.Serializer.cs | 2 +- .../SoftwareList.Deserializer.cs | 4 +- .../SoftwareList.Serializer.cs | 6 +- .../ClrMameProTests.cs | 4 +- .../DosCenterTests.cs | 4 +- .../EverdriveSMDBTests.cs | 4 +- .../ListromTests.cs | 8 +- .../ListxmlTests.cs | 4 +- .../LogiqxTests.cs | 4 +- .../M1Tests.cs | 4 +- .../MessTests.cs | 4 +- .../OfflineListTests.cs | 4 +- .../RomCenterTests.cs | 4 +- .../SeparatedValueTests.cs | 8 +- .../SoftwareListTests.cs | 8 +- .../ClrMamePro.cs | 2 +- SabreTools.Serialization.Readers/DosCenter.cs | 8 +- .../EverdriveSMDB.cs | 3 +- SabreTools.Serialization.Readers/Listrom.cs | 7 +- SabreTools.Serialization.Readers/Listxml.cs | 2 +- SabreTools.Serialization.Readers/Logiqx.cs | 3 +- SabreTools.Serialization.Readers/M1.cs | 2 +- SabreTools.Serialization.Readers/Mess.cs | 2 +- .../OfflineList.cs | 3 +- SabreTools.Serialization.Readers/RomCenter.cs | 3 +- .../SeparatedValue.cs | 5 +- .../SoftwareList.cs | 5 +- .../ClrMamePro.cs | 2 +- SabreTools.Serialization.Writers/DosCenter.cs | 2 +- .../EverdriveSMDB.cs | 2 +- SabreTools.Serialization.Writers/Listrom.cs | 2 +- SabreTools.Serialization.Writers/Listxml.cs | 2 +- SabreTools.Serialization.Writers/Logiqx.cs | 2 +- SabreTools.Serialization.Writers/M1.cs | 2 +- SabreTools.Serialization.Writers/Mess.cs | 2 +- .../OfflineList.cs | 2 +- .../SeparatedValue.cs | 4 +- .../SoftwareList.cs | 4 +- 115 files changed, 377 insertions(+), 446 deletions(-) diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs index 77d4714f..cfdcb275 100644 --- a/SabreTools.Data.Extensions/MetadataExtensions.cs +++ b/SabreTools.Data.Extensions/MetadataExtensions.cs @@ -199,6 +199,7 @@ namespace SabreTools.Data.Extensions else if (self is DataArea selfDataArea && clone is DataArea cloneDataArea) { cloneDataArea.Endianness = selfDataArea.Endianness; + cloneDataArea.Size = selfDataArea.Size; } else if (self is Device selfDevice && clone is Device cloneDevice) { @@ -345,6 +346,7 @@ namespace SabreTools.Data.Extensions cloneRom.MIA = selfRom.MIA; cloneRom.OpenMSXMediaType = selfRom.OpenMSXMediaType; cloneRom.Optional = selfRom.Optional; + cloneRom.Size = selfRom.Size; cloneRom.SoundOnly = selfRom.SoundOnly; cloneRom.Status = selfRom.Status; cloneRom.Value = selfRom.Value; @@ -1037,10 +1039,10 @@ namespace SabreTools.Data.Extensions if (self is null || other is null) return; - long? selfSize = self.ReadLong(Rom.SizeKey); - long? otherSize = other.ReadLong(Rom.SizeKey); + long? selfSize = self.Size; + long? otherSize = other.Size; if (selfSize is null && otherSize is not null) - self[Rom.SizeKey] = otherSize; + self.Size = otherSize; string? selfCrc16 = self.ReadString(Rom.CRC16Key); string? otherCrc16 = other.ReadString(Rom.CRC16Key); diff --git a/SabreTools.Data.Models/ClrMamePro/Rom.cs b/SabreTools.Data.Models/ClrMamePro/Rom.cs index b84d1b68..329fa18e 100644 --- a/SabreTools.Data.Models/ClrMamePro/Rom.cs +++ b/SabreTools.Data.Models/ClrMamePro/Rom.cs @@ -13,7 +13,7 @@ namespace SabreTools.Data.Models.ClrMamePro /// size, Numeric [Required] - public string? Size { get; set; } + public long? Size { get; set; } /// crc public string? CRC { get; set; } diff --git a/SabreTools.Data.Models/DosCenter/File.cs b/SabreTools.Data.Models/DosCenter/File.cs index 7766ead6..99b30442 100644 --- a/SabreTools.Data.Models/DosCenter/File.cs +++ b/SabreTools.Data.Models/DosCenter/File.cs @@ -10,7 +10,7 @@ namespace SabreTools.Data.Models.DosCenter /// size, attribute, numeric [Required] - public string? Size { get; set; } + public long? Size { get; set; } /// crc, attribute [Required] diff --git a/SabreTools.Data.Models/EverdriveSMDB/Row.cs b/SabreTools.Data.Models/EverdriveSMDB/Row.cs index ddc19765..d81cc3fb 100644 --- a/SabreTools.Data.Models/EverdriveSMDB/Row.cs +++ b/SabreTools.Data.Models/EverdriveSMDB/Row.cs @@ -21,6 +21,6 @@ namespace SabreTools.Data.Models.EverdriveSMDB [Required] public string? CRC32 { get; set; } - public string? Size { get; set; } + public long? Size { get; set; } } } diff --git a/SabreTools.Data.Models/Listrom/Row.cs b/SabreTools.Data.Models/Listrom/Row.cs index 28e32499..a86bb239 100644 --- a/SabreTools.Data.Models/Listrom/Row.cs +++ b/SabreTools.Data.Models/Listrom/Row.cs @@ -18,7 +18,7 @@ namespace SabreTools.Data.Models.Listrom [Required] public string? Name { get; set; } - public string? Size { get; set; } + public long? Size { get; set; } public bool Bad { get; set; } diff --git a/SabreTools.Data.Models/Listxml/Rom.cs b/SabreTools.Data.Models/Listxml/Rom.cs index a2f60acc..d537ea66 100644 --- a/SabreTools.Data.Models/Listxml/Rom.cs +++ b/SabreTools.Data.Models/Listxml/Rom.cs @@ -14,10 +14,9 @@ namespace SabreTools.Data.Models.Listxml [XmlAttribute("bios")] public string? Bios { get; set; } - /// Numeric [Required] [XmlAttribute("size")] - public string? Size { get; set; } + public long? Size { get; set; } [XmlAttribute("crc")] public string? CRC { get; set; } diff --git a/SabreTools.Data.Models/Logiqx/Rom.cs b/SabreTools.Data.Models/Logiqx/Rom.cs index ea05a3a8..bef09c1c 100644 --- a/SabreTools.Data.Models/Logiqx/Rom.cs +++ b/SabreTools.Data.Models/Logiqx/Rom.cs @@ -14,7 +14,7 @@ namespace SabreTools.Data.Models.Logiqx [Required] [XmlAttribute("size")] - public string? Size { get; set; } + public long? Size { get; set; } /// Hash extension [XmlAttribute("crc16")] diff --git a/SabreTools.Data.Models/Metadata/DataArea.cs b/SabreTools.Data.Models/Metadata/DataArea.cs index 07fe7cc1..9ca44103 100644 --- a/SabreTools.Data.Models/Metadata/DataArea.cs +++ b/SabreTools.Data.Models/Metadata/DataArea.cs @@ -13,6 +13,8 @@ namespace SabreTools.Data.Models.Metadata public string? Name { get; set; } + public long? Size { get; set; } + #endregion #region Keys @@ -21,9 +23,6 @@ namespace SabreTools.Data.Models.Metadata [NoFilter] public const string RomKey = "rom"; - /// long - public const string SizeKey = "size"; - /// (8|16|32|64) "8" /// TODO: Convert to enum public const string WidthKey = "width"; diff --git a/SabreTools.Data.Models/Metadata/Rom.cs b/SabreTools.Data.Models/Metadata/Rom.cs index 9217cfbd..d83a81bb 100644 --- a/SabreTools.Data.Models/Metadata/Rom.cs +++ b/SabreTools.Data.Models/Metadata/Rom.cs @@ -31,6 +31,8 @@ namespace SabreTools.Data.Models.Metadata /// (yes|no) "no" public bool? Optional { get; set; } + public long? Size { get; set; } + /// (yes|no) "no" public bool? SoundOnly { get; set; } @@ -223,9 +225,6 @@ namespace SabreTools.Data.Models.Metadata /// string public const string SHA512Key = "sha512"; - /// long - public const string SizeKey = "size"; - /// string; ArchiveDotOrg.File public const string SourceKey = "source"; diff --git a/SabreTools.Data.Models/OfflineList/Game.cs b/SabreTools.Data.Models/OfflineList/Game.cs index 508437f9..c86e68e0 100644 --- a/SabreTools.Data.Models/OfflineList/Game.cs +++ b/SabreTools.Data.Models/OfflineList/Game.cs @@ -20,7 +20,7 @@ namespace SabreTools.Data.Models.OfflineList /// Numeric [XmlElement("romSize")] - public string? RomSize { get; set; } + public long? RomSize { get; set; } [XmlElement("publisher")] public string? Publisher { get; set; } diff --git a/SabreTools.Data.Models/RomCenter/Rom.cs b/SabreTools.Data.Models/RomCenter/Rom.cs index f7db5251..c60d454f 100644 --- a/SabreTools.Data.Models/RomCenter/Rom.cs +++ b/SabreTools.Data.Models/RomCenter/Rom.cs @@ -22,7 +22,7 @@ namespace SabreTools.Data.Models.RomCenter public string? RomCRC { get; set; } /// 6 - public string? RomSize { get; set; } + public long? RomSize { get; set; } /// 7 public string? RomOf { get; set; } diff --git a/SabreTools.Data.Models/SeparatedValue/Row.cs b/SabreTools.Data.Models/SeparatedValue/Row.cs index 5fed32c0..d68461ee 100644 --- a/SabreTools.Data.Models/SeparatedValue/Row.cs +++ b/SabreTools.Data.Models/SeparatedValue/Row.cs @@ -35,7 +35,7 @@ namespace SabreTools.Data.Models.SeparatedValue public string? DiskName { get; set; } /// Size, Numeric - public string? Size { get; set; } + public long? Size { get; set; } /// CRC public string? CRC { get; set; } diff --git a/SabreTools.Data.Models/SoftwareList/DataArea.cs b/SabreTools.Data.Models/SoftwareList/DataArea.cs index dfe7dfee..58cf3219 100644 --- a/SabreTools.Data.Models/SoftwareList/DataArea.cs +++ b/SabreTools.Data.Models/SoftwareList/DataArea.cs @@ -13,7 +13,7 @@ namespace SabreTools.Data.Models.SoftwareList [Required] [XmlAttribute("size")] - public string? Size { get; set; } + public long? Size { get; set; } /// (8|16|32|64) "8" [XmlAttribute("width")] diff --git a/SabreTools.Data.Models/SoftwareList/Rom.cs b/SabreTools.Data.Models/SoftwareList/Rom.cs index 265f8127..67d7a8d1 100644 --- a/SabreTools.Data.Models/SoftwareList/Rom.cs +++ b/SabreTools.Data.Models/SoftwareList/Rom.cs @@ -12,7 +12,7 @@ namespace SabreTools.Data.Models.SoftwareList public string? Name { get; set; } [XmlAttribute("size")] - public string? Size { get; set; } + public long? Size { get; set; } [XmlAttribute("length")] public string? Length { get; set; } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs index 947c6f36..09812fb1 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs @@ -542,7 +542,7 @@ namespace SabreTools.Metadata.DatFiles.Test Endianness = Data.Models.Metadata.Endianness.Big, Name = "name", [Data.Models.Metadata.DataArea.RomKey] = new Data.Models.Metadata.Rom[] { [] }, - [Data.Models.Metadata.DataArea.SizeKey] = 12345L, + Size = 12345L, [Data.Models.Metadata.DataArea.WidthKey] = 64, }; } @@ -838,7 +838,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Rom.SHA256Key] = HashType.SHA256.ZeroString, [Data.Models.Metadata.Rom.SHA384Key] = HashType.SHA384.ZeroString, [Data.Models.Metadata.Rom.SHA512Key] = HashType.SHA512.ZeroString, - [Data.Models.Metadata.Rom.SizeKey] = 12345L, + Size = 12345L, SoundOnly = true, [Data.Models.Metadata.Rom.SourceKey] = "source", [Data.Models.Metadata.Rom.SpamSumKey] = HashType.SpamSum.ZeroString, @@ -1253,7 +1253,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(dataArea); Assert.Equal(Data.Models.Metadata.Endianness.Big, dataArea.Endianness); Assert.Equal("name", dataArea.Name); - Assert.Equal(12345L, dataArea.ReadLong(Data.Models.Metadata.DataArea.SizeKey)); + Assert.Equal(12345L, dataArea.Size); Assert.Equal(64, dataArea.ReadLong(Data.Models.Metadata.DataArea.WidthKey)); } @@ -1558,7 +1558,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.SHA256.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)); Assert.Equal(HashType.SHA384.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); Assert.Equal(HashType.SHA512.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Equal(12345L, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345L, rom.Size); Assert.True(rom.SoundOnly); Assert.Equal("source", rom.ReadString(Data.Models.Metadata.Rom.SourceKey)); Assert.Equal(HashType.SpamSum.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs index 62c11937..fa405df6 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs @@ -22,23 +22,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -67,23 +64,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -112,23 +106,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -160,23 +151,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -212,23 +200,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -257,23 +242,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -325,9 +307,8 @@ namespace SabreTools.Metadata.DatFiles.Test slotOptionItem.Machine = slotOptionMachine; slotOptionItem.Source = source; - DatItem datItem = new Rom(); + DatItem datItem = new Rom() { Size = 12345 }; datItem.SetName("rom"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); datItem.Machine = itemMachine; datItem.Source = source; @@ -380,9 +361,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem slotOptionItem = new Sample(); slotOptionItem.SetName("slot_option_item"); - DatItem datItem = new Rom(); + DatItem datItem = new Rom() { Size = 12345 }; datItem.SetName("rom"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); DatItem deviceRef = new DeviceRef(); @@ -425,23 +405,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -470,23 +447,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -587,23 +561,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Name = "child"; childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -637,23 +608,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Name = "child"; childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -694,23 +662,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; @@ -743,23 +708,20 @@ namespace SabreTools.Metadata.DatFiles.Test childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); childMachine.IsBios = true; - DatItem parentItem = new Rom(); + DatItem parentItem = new Rom() { Size = 12345 }; parentItem.SetName("parent_rom"); - parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); parentItem.Machine = parentMachine; parentItem.Source = source; - DatItem matchChildItem = new Rom(); + DatItem matchChildItem = new Rom() { Size = 12345 }; matchChildItem.SetName("match_child_rom"); - matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); matchChildItem.Machine = childMachine; matchChildItem.Source = source; - DatItem noMatchChildItem = new Rom(); + DatItem noMatchChildItem = new Rom() { Size = 12345 }; noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); noMatchChildItem.Machine = childMachine; noMatchChildItem.Source = source; diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs index d12014b2..f286010a 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs @@ -760,7 +760,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(dataArea); Assert.Equal(Data.Models.Metadata.Endianness.Big, dataArea.Endianness); Assert.Equal("name", dataArea.Name); - Assert.Equal(12345, dataArea.ReadLong(Data.Models.Metadata.DataArea.SizeKey)); + Assert.Equal(12345, dataArea.Size); Assert.Equal(64, dataArea.ReadLong(Data.Models.Metadata.DataArea.WidthKey)); Data.Models.Metadata.Rom[]? roms = dataArea.ReadArray(Data.Models.Metadata.DataArea.RomKey); @@ -1103,7 +1103,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(HashType.SHA256.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)); Assert.Equal(HashType.SHA384.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); Assert.Equal(HashType.SHA512.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Equal(12345, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, rom.Size); Assert.True(rom.SoundOnly); Assert.Equal("source", rom.ReadString(Data.Models.Metadata.Rom.SourceKey)); Assert.Equal(HashType.SpamSum.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs index 0987c682..b773c286 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs @@ -1368,9 +1368,8 @@ namespace SabreTools.Metadata.DatFiles.Test machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); - DatItem item = new Rom(); + DatItem item = new Rom() { Size = 12345 }; item.SetName("name"); - item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); item.Write(Data.Models.Metadata.Rom.CRC16Key, "crc16"); item.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); item.Write(Data.Models.Metadata.Rom.CRC64Key, "crc64"); @@ -1472,9 +1471,8 @@ namespace SabreTools.Metadata.DatFiles.Test machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); - DatItem item = new Rom(); + DatItem item = new Rom() { Size = 12345 }; item.SetName("name"); - item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); item.Write(Data.Models.Metadata.Rom.CRC16Key, "crc16"); item.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); item.Write(Data.Models.Metadata.Rom.CRC64Key, "crc64"); @@ -1505,7 +1503,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = DatFile.ProcessNullifiedItem(item); Sample? sample = actual as Sample; Assert.NotNull(sample); - Assert.Null(sample.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(sample.ReadString("size")); Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.CRC16Key)); Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.CRCKey)); Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.CRC64Key)); @@ -1524,13 +1522,12 @@ namespace SabreTools.Metadata.DatFiles.Test [Fact] public void ProcessNullifiedItem_SizeNonNull() { - DatItem item = new Rom(); - item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + DatItem item = new Rom() { Size = 12345 }; DatItem actual = DatFile.ProcessNullifiedItem(item); Rom? rom = actual as Rom; Assert.NotNull(rom); - Assert.Equal(12345, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, rom.Size); Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)); Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)); Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)); @@ -1555,7 +1552,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = DatFile.ProcessNullifiedItem(item); Rom? rom = actual as Rom; Assert.NotNull(rom); - Assert.Null(rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(rom.Size); Assert.Equal(HashType.CRC32.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRCKey)); Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)); Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)); @@ -1590,7 +1587,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = DatFile.ProcessNullifiedItem(item); Rom? rom = actual as Rom; Assert.NotNull(rom); - Assert.Equal(0, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(0, rom.Size); Assert.Equal(HashType.CRC16.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)); Assert.Equal(HashType.CRC32.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRCKey)); Assert.Equal(HashType.CRC64.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)); @@ -1958,7 +1955,7 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("name"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romA.Machine = (Machine)machine.Clone(); romA.Source = (Source)source.Clone(); @@ -1972,7 +1969,7 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA as Rom; Assert.NotNull(actualRomA); Assert.Equal("name", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -1986,14 +1983,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("romA"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romA.Machine = (Machine)machine.Clone(); romA.Source = (Source)source.Clone(); Rom romB = new Rom(); romB.SetName("romB"); - romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Size = 23456; romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); romB.Machine = (Machine)machine.Clone(); romB.Source = (Source)source.Clone(); @@ -2008,13 +2005,13 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0] as Rom; Assert.NotNull(actualRomA); Assert.Equal("romA", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1] as Rom; Assert.NotNull(actualRomB); Assert.Equal("romB", actualRomB.Name); - Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(23456, actualRomB.Size); Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -2028,14 +2025,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("rom"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romA.Machine = (Machine)machine.Clone(); romA.Source = (Source)source.Clone(); Rom romB = new Rom(); romB.SetName("rom"); - romB.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romB.Size = 12345; romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romB.Machine = (Machine)machine.Clone(); romB.Source = (Source)source.Clone(); @@ -2049,7 +2046,7 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -2063,14 +2060,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("rom"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romA.Machine = (Machine)machine.Clone(); romA.Source = (Source)source.Clone(); Rom romB = new Rom(); romB.SetName("rom"); - romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Size = 23456; romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); romB.Machine = (Machine)machine.Clone(); romB.Source = (Source)source.Clone(); @@ -2085,13 +2082,13 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0] as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1] as Rom; Assert.NotNull(actualRomB); Assert.Equal("rom_crc2", actualRomB.Name); - Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(23456, actualRomB.Size); Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -2120,7 +2117,7 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("name"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romA.Machine = (Machine)machine.Clone(); romA.Source = (Source)source.Clone(); @@ -2136,7 +2133,7 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA.Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("name", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -2150,14 +2147,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("romA"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romA.Machine = (Machine)machine.Clone(); romA.Source = (Source)source.Clone(); Rom romB = new Rom(); romB.SetName("romB"); - romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Size = 23456; romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); romB.Machine = (Machine)machine.Clone(); romB.Source = (Source)source.Clone(); @@ -2175,13 +2172,13 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0].Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("romA", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1].Value as Rom; Assert.NotNull(actualRomB); Assert.Equal("romB", actualRomB.Name); - Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(23456, actualRomB.Size); Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -2199,13 +2196,13 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("rom"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); long romAIndex = datFile.AddItemDB(romA, machineIndex, sourceIndex, statsOnly: false); Rom romB = new Rom(); romB.SetName("rom"); - romB.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romB.Size = 12345; romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); long romBIndex = datFile.AddItemDB(romB, machineIndex, sourceIndex, statsOnly: false); @@ -2220,7 +2217,7 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA.Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -2234,14 +2231,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("rom"); - romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Size = 12345; romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); romA.Machine = (Machine)machine.Clone(); romA.Source = (Source)source.Clone(); Rom romB = new Rom(); romB.SetName("rom"); - romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Size = 23456; romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); romB.Machine = (Machine)machine.Clone(); romB.Source = (Source)source.Clone(); @@ -2259,13 +2256,13 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0].Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.Name); - Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRomA.Size); Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1].Value as Rom; Assert.NotNull(actualRomB); Assert.Equal("rom_crc2", actualRomB.Name); - Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(23456, actualRomB.Size); Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } @@ -2317,9 +2314,8 @@ namespace SabreTools.Metadata.DatFiles.Test [Fact] public void ShouldIgnore_NoIgnoreBlanksZeroRom_False() { - DatItem? datItem = new Rom(); + DatItem? datItem = new Rom() { Size = 12345 }; datItem.SetName("name"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); DatFile datFile = new Logiqx(null, useGame: false); @@ -2340,9 +2336,8 @@ namespace SabreTools.Metadata.DatFiles.Test [Fact] public void ShouldIgnore_MissingRequired_True() { - DatItem? datItem = new Rom(); + DatItem? datItem = new Rom() { Size = 12345 }; datItem.SetName("name"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); DatFile datFile = new Logiqx(null, useGame: false); bool actual = datFile.ShouldIgnore(datItem, ignoreBlanks: true); @@ -2352,9 +2347,8 @@ namespace SabreTools.Metadata.DatFiles.Test [Fact] public void ShouldIgnore_AllVerified_False() { - DatItem? datItem = new Rom(); + DatItem? datItem = new Rom() { Size = 12345 }; datItem.SetName("name"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); datItem.Write(Data.Models.Metadata.Rom.MD2Key, "crc"); datItem.Write(Data.Models.Metadata.Rom.MD4Key, "crc"); diff --git a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs index cfb8ead3..3e9827f3 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs @@ -300,7 +300,7 @@ namespace SabreTools.Metadata.DatFiles.Test var rom = new Rom(); rom.Status = ItemStatus.Good; - rom.Write(Data.Models.Metadata.Rom.SizeKey, 1); + rom.Size = 1; rom.Write(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString); rom.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); rom.Write(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString); diff --git a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs index 5e0d3f74..8ebb40fb 100644 --- a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs @@ -127,7 +127,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.SHA1Key, ])); } @@ -288,7 +288,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.CRCKey, ])); } @@ -741,7 +741,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.CRCKey, Data.Models.Metadata.Rom.SHA1Key, ])); @@ -806,7 +806,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.SHA1Key, ])); } @@ -1123,7 +1123,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.SHA1Key, ])); } @@ -1276,7 +1276,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.CRCKey, ])); } @@ -1336,7 +1336,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), Data.Models.Metadata.Rom.CRCKey, - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), ])); } @@ -1421,7 +1421,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.SHA1Key, ])); } @@ -1479,7 +1479,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.SHA1Key, ])); } @@ -1537,7 +1537,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Rom.Name), - Data.Models.Metadata.Rom.SizeKey, + nameof(Data.Models.Metadata.Rom.Size), Data.Models.Metadata.Rom.SHA1Key, ])); } @@ -1623,7 +1623,7 @@ namespace SabreTools.Metadata.DatFiles.Test nameof(Data.Models.Metadata.Part.Name), nameof(Data.Models.Metadata.Part.Interface), nameof(Data.Models.Metadata.DataArea.Name), - Data.Models.Metadata.DataArea.SizeKey, + nameof(Data.Models.Metadata.DataArea.Size), ])); } diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs index 069df989..4e249bff 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs @@ -135,9 +135,8 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = 12345 }; rom.SetName("item"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); rom.Write(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); var dict = new ItemDictionaryDB(); @@ -148,7 +147,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRom.Size); Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.None, actualRom.Status); } @@ -159,9 +158,8 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = 12345 }; rom.SetName("item"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -171,7 +169,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRom.Size); Assert.Null(actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.Nodump, actualRom.Status); } @@ -194,7 +192,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Null(actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(actualRom.Size); Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.None, actualRom.Status); } @@ -216,7 +214,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Equal(0, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(0, actualRom.Size); Assert.Equal(HashType.SHA1.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.None, actualRom.Status); } @@ -298,18 +296,16 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); rom2.RemoveFlag = true; rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -548,11 +544,10 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem datItem = new Rom(); + DatItem datItem = new Rom() { Size = 1024 }; datItem.SetName("rom-1"); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -576,11 +571,10 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem datItem = new Rom(); + DatItem datItem = new Rom() { Size = 1024 }; datItem.SetName("rom-1"); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -628,29 +622,25 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine2 = new Machine(); machine2.Name = "game-2"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); - DatItem rom3 = new Rom(); + DatItem rom3 = new Rom() { Size = 1024 }; rom3.SetName("rom-3"); rom3.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); rom3.Write(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26"); - rom3.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); - DatItem rom4 = new Rom(); + DatItem rom4 = new Rom() { Size = 1024 }; rom4.SetName("rom-4"); rom4.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); rom4.Write(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487"); - rom4.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -679,15 +669,13 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -918,15 +906,13 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -936,10 +922,9 @@ namespace SabreTools.Metadata.DatFiles.Test dict.AddItem(rom2, machineIndex, sourceIndex, statsOnly: false); // Setup the test item - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = hasDuplicate ? 1024 : 2048 }; rom.SetName("rom-1"); rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, hasDuplicate ? "1024" : "2048"); var actual = dict.GetDuplicates(new KeyValuePair(-1, rom)); Assert.Equal(expected, actual.Count); @@ -960,15 +945,13 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -978,10 +961,9 @@ namespace SabreTools.Metadata.DatFiles.Test dict.AddItem(rom2, machineIndex, sourceIndex, statsOnly: false); // Setup the test item - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = expected ? 1024 : 2048 }; rom.SetName("rom-1"); rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, expected ? "1024" : "2048"); bool actual = dict.HasDuplicates(new KeyValuePair(-1, rom)); Assert.Equal(expected, actual); @@ -999,9 +981,8 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "machine"; - DatItem item = new Rom(); + DatItem item = new Rom() { Size = 12345 }; item.SetName("rom"); - item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); item.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); var dict = new ItemDictionaryDB(); diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs index 2a40441c..b92fd822 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs @@ -135,9 +135,8 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = 12345 }; rom.SetName("item"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); rom.Write(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); rom.Source = source; rom.Machine = machine; @@ -148,7 +147,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRom.Size); Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.None, actualRom.Status); } @@ -159,9 +158,8 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = 12345 }; rom.SetName("item"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); rom.Source = source; rom.Machine = machine; @@ -171,7 +169,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actualRom.Size); Assert.Null(actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.Nodump, actualRom.Status); } @@ -194,7 +192,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Null(actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(actualRom.Size); Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.None, actualRom.Status); } @@ -216,7 +214,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Rom? actualRom = actual as Rom; Assert.NotNull(actualRom); - Assert.Equal(0, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(0, actualRom.Size); Assert.Equal(HashType.SHA1.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); Assert.Equal(Data.Models.Metadata.ItemStatus.None, actualRom.Status); } @@ -266,19 +264,17 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); rom2.RemoveFlag = true; rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom2.CopyMachineInformation(machine); // Setup the dictionary @@ -408,11 +404,10 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem datItem = new Rom(); + DatItem datItem = new Rom() { Size = 1024 }; datItem.SetName("rom-1"); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); datItem.CopyMachineInformation(machine); var dict = new ItemDictionary(); @@ -434,11 +429,10 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem datItem = new Rom(); + DatItem datItem = new Rom() { Size = 1024 }; datItem.SetName("rom-1"); datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); datItem.CopyMachineInformation(machine); var dict = new ItemDictionary(); @@ -468,32 +462,28 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine2 = new Machine(); machine2.Name = "game-2"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine1); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine1); - DatItem rom3 = new Rom(); + DatItem rom3 = new Rom() { Size = 1024 }; rom3.SetName("rom-3"); rom3.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); rom3.Write(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26"); - rom3.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine2); - DatItem rom4 = new Rom(); + DatItem rom4 = new Rom() { Size = 1024 }; rom4.SetName("rom-4"); rom4.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); rom4.Write(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487"); - rom4.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine2); // Setup the dictionary @@ -518,16 +508,14 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom2.CopyMachineInformation(machine); // Setup the dictionary @@ -711,16 +699,14 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom2.CopyMachineInformation(machine); // Setup the dictionary @@ -729,10 +715,9 @@ namespace SabreTools.Metadata.DatFiles.Test dict.AddItem(rom2, statsOnly: false); // Setup the test item - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = hasDuplicate ? 1024 : 2048 }; rom.SetName("rom-1"); rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, hasDuplicate ? "1024" : "2048"); rom.CopyMachineInformation(machine); var actual = dict.GetDuplicates(rom); @@ -752,16 +737,14 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "game-1"; - DatItem rom1 = new Rom(); + DatItem rom1 = new Rom() { Size = 1024 }; rom1.SetName("rom-1"); rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); - DatItem rom2 = new Rom(); + DatItem rom2 = new Rom() { Size = 1024 }; rom2.SetName("rom-2"); rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); // Setup the dictionary @@ -770,10 +753,9 @@ namespace SabreTools.Metadata.DatFiles.Test dict.AddItem("game-1", rom2); // Setup the test item - DatItem rom = new Rom(); + DatItem rom = new Rom() { Size = expected ? 1024 : 2048 }; rom.SetName("rom-1"); rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, expected ? "1024" : "2048"); rom1.CopyMachineInformation(machine); bool actual = dict.HasDuplicates(rom); @@ -792,9 +774,8 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.Name = "machine"; - DatItem item = new Rom(); + DatItem item = new Rom() { Size = 12345 }; item.SetName("rom"); - item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); item.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); item.Source = source; item.Machine = machine; diff --git a/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs b/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs index d935a962..212c1add 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs @@ -609,7 +609,7 @@ namespace SabreTools.Metadata.DatFiles // Convert the item var romItem = new Rom(rom, machine, source); - long? size = romItem.ReadLong(Data.Models.Metadata.Rom.SizeKey); + long? size = romItem.Size; // If the rom is a continue or ignore Data.Models.Metadata.LoadFlag? loadFlag = rom.LoadFlag; @@ -618,8 +618,8 @@ namespace SabreTools.Metadata.DatFiles || loadFlag == Data.Models.Metadata.LoadFlag.Ignore)) { var lastRom = addRoms[addRoms.Count - 1]; - long? lastSize = lastRom.ReadLong(Data.Models.Metadata.Rom.SizeKey); - lastRom.Write(Data.Models.Metadata.Rom.SizeKey, lastSize + size); + long? lastSize = lastRom.Size; + lastRom.Size = lastSize + size; continue; } diff --git a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs index 0e3dcd98..59a833ec 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs @@ -360,7 +360,7 @@ namespace SabreTools.Metadata.DatFiles aggregateDataArea = []; aggregateDataArea.Endianness = dataArea.Endianness; aggregateDataArea.Name = dataArea.Name; - aggregateDataArea[Data.Models.Metadata.DataArea.SizeKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.SizeKey); + aggregateDataArea.Size = dataArea.Size; aggregateDataArea[Data.Models.Metadata.DataArea.WidthKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.WidthKey); } @@ -786,7 +786,7 @@ namespace SabreTools.Metadata.DatFiles aggregateDataArea = []; aggregateDataArea.Endianness = dataArea.Endianness; aggregateDataArea.Name = dataArea.Name; - aggregateDataArea[Data.Models.Metadata.DataArea.SizeKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.SizeKey); + aggregateDataArea.Size = dataArea.Size; aggregateDataArea[Data.Models.Metadata.DataArea.WidthKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.WidthKey); } diff --git a/SabreTools.Metadata.DatFiles/DatFile.cs b/SabreTools.Metadata.DatFiles/DatFile.cs index 6ce84666..150560c7 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.cs @@ -639,7 +639,7 @@ namespace SabreTools.Metadata.DatFiles sha256 = rom.ReadString(Data.Models.Metadata.Rom.SHA256Key) ?? string.Empty; sha384 = rom.ReadString(Data.Models.Metadata.Rom.SHA384Key) ?? string.Empty; sha512 = rom.ReadString(Data.Models.Metadata.Rom.SHA512Key) ?? string.Empty; - size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey).ToString() ?? string.Empty; + size = rom.Size.ToString() ?? string.Empty; spamsum = rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey) ?? string.Empty; } @@ -681,7 +681,7 @@ namespace SabreTools.Metadata.DatFiles return item; // If the item has a size - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is not null) + if (rom.Size is not null) return rom; // If the item CRC isn't "null" @@ -690,7 +690,7 @@ namespace SabreTools.Metadata.DatFiles // If the Rom has "null" characteristics, ensure all fields rom.Name = rom.Name == "null" ? "-" : rom.Name; - rom.Write(Data.Models.Metadata.Rom.SizeKey, "0"); + rom.Size = 0; rom.Write(Data.Models.Metadata.Rom.CRC16Key, rom.ReadString(Data.Models.Metadata.Rom.CRC16Key) == "null" ? HashType.CRC16.ZeroString : null); rom.Write(Data.Models.Metadata.Rom.CRCKey, @@ -999,7 +999,7 @@ namespace SabreTools.Metadata.DatFiles if (ignoreBlanks && datItem is Rom rom) { // If we have a 0-size or blank rom, then we ignore - long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey); + long? size = rom.Size; if (size == 0 || size is null) { string itemString = JsonConvert.SerializeObject(datItem, Formatting.None); diff --git a/SabreTools.Metadata.DatFiles/DatStatistics.cs b/SabreTools.Metadata.DatFiles/DatStatistics.cs index 8dcd2dab..146f6f95 100644 --- a/SabreTools.Metadata.DatFiles/DatStatistics.cs +++ b/SabreTools.Metadata.DatFiles/DatStatistics.cs @@ -374,7 +374,7 @@ namespace SabreTools.Metadata.DatFiles ItemStatus? status = rom.Status; if (status != ItemStatus.Nodump) { - TotalSize += rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0; + TotalSize += rom.Size ?? 0; AddHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); AddHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); AddHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); @@ -503,7 +503,7 @@ namespace SabreTools.Metadata.DatFiles ItemStatus? status = rom.Status; if (status != ItemStatus.Nodump) { - TotalSize -= rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0; + TotalSize -= rom.Size ?? 0; RemoveHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); RemoveHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); RemoveHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); diff --git a/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs b/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs index c11b02e0..d1af7ab7 100644 --- a/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs +++ b/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs @@ -90,8 +90,8 @@ namespace SabreTools.Metadata.DatFiles.Formats case Rom rom: if (string.IsNullOrEmpty(rom.Name)) missingFields.Add(nameof(Data.Models.Metadata.Rom.Name)); - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) diff --git a/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs b/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs index 37bda622..30af27c7 100644 --- a/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs +++ b/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs @@ -36,8 +36,8 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); // if (string.IsNullOrEmpty(rom.Date)) // missingFields.Add(Data.Models.Metadata.Rom.DateKey); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) diff --git a/SabreTools.Metadata.DatFiles/Formats/Listrom.cs b/SabreTools.Metadata.DatFiles/Formats/Listrom.cs index 8a5ef1cc..1c12704f 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Listrom.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Listrom.cs @@ -46,8 +46,8 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Rom rom: - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) diff --git a/SabreTools.Metadata.DatFiles/Formats/Listxml.cs b/SabreTools.Metadata.DatFiles/Formats/Listxml.cs index 27e985fe..711ea24c 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Listxml.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Listxml.cs @@ -269,8 +269,8 @@ namespace SabreTools.Metadata.DatFiles.Formats case Rom rom: if (string.IsNullOrEmpty(rom.Name)) missingFields.Add(nameof(Data.Models.Metadata.Rom.Name)); - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) { diff --git a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs index dbc731cd..aa421835 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs @@ -282,8 +282,8 @@ namespace SabreTools.Metadata.DatFiles.Formats case Rom rom: if (string.IsNullOrEmpty(rom.Name)) missingFields.Add(nameof(Data.Models.Metadata.Rom.Name)); - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) diff --git a/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs b/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs index 3539fbfe..dfd9668f 100644 --- a/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs +++ b/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs @@ -32,8 +32,8 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs b/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs index 2a73074b..5e53ac89 100644 --- a/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs +++ b/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs @@ -38,8 +38,8 @@ namespace SabreTools.Metadata.DatFiles.Formats case Rom rom: if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); break; default: diff --git a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs index 4345d918..52613e24 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs @@ -93,8 +93,8 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Rom rom: - if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) - missingFields.Add(Data.Models.Metadata.Rom.SizeKey); + if (rom.Size is null || rom.Size < 0) + missingFields.Add(nameof(Data.Models.Metadata.Rom.Size)); if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) diff --git a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs index a0fc9f15..3dbeea76 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs @@ -187,14 +187,14 @@ namespace SabreTools.Metadata.DatFiles.Formats if (!rom.DataAreaSpecified) { missingFields.Add(nameof(Data.Models.Metadata.DataArea.Name)); - missingFields.Add(Data.Models.Metadata.DataArea.SizeKey); + missingFields.Add(nameof(Data.Models.Metadata.DataArea.Size)); } else { if (string.IsNullOrEmpty(rom.Read(Rom.DataAreaKey)!.Name)) missingFields.Add(nameof(Data.Models.Metadata.DataArea.Name)); - if (rom.Read(Rom.DataAreaKey)!.ReadLong(Data.Models.Metadata.DataArea.SizeKey) is null) - missingFields.Add(Data.Models.Metadata.DataArea.SizeKey); + if (rom.Read(Rom.DataAreaKey)!.Size is null) + missingFields.Add(nameof(Data.Models.Metadata.DataArea.Size)); } break; diff --git a/SabreTools.Metadata.DatFiles/ItemDictionary.cs b/SabreTools.Metadata.DatFiles/ItemDictionary.cs index 3f3c30a8..acd8c9f9 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionary.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionary.cs @@ -136,7 +136,7 @@ namespace SabreTools.Metadata.DatFiles } else if (item is Rom rom) { - long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey); + long? size = rom.Size; // If we have the case where there is SHA-1 and nothing else, we don't fill in any other part of the data if (size is null && !string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) @@ -149,7 +149,7 @@ namespace SabreTools.Metadata.DatFiles else if ((size == 0 || size is null) && (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash())) { - rom.Write(Data.Models.Metadata.Rom.SizeKey, "0"); + rom.Size = 0; rom.Write(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString rom.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); rom.Write(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString diff --git a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs index f9ded0ea..f75d98e4 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs @@ -225,7 +225,7 @@ namespace SabreTools.Metadata.DatFiles } else if (item is Rom rom) { - long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey); + long? size = rom.Size; // If we have the case where there is SHA-1 and nothing else, we don't fill in any other part of the data if (size is null && !string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) @@ -238,7 +238,7 @@ namespace SabreTools.Metadata.DatFiles else if ((size == 0 || size is null) && (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash())) { - rom.Write(Data.Models.Metadata.Rom.SizeKey, "0"); + rom.Size = 0; rom.Write(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString rom.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); rom.Write(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString diff --git a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs index 48a8eb8c..b5fb4214 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs @@ -36,7 +36,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Rom actual = file.ConvertToRom(); Assert.Equal("XXXXXX.XXXXXX", actual.GetName()); - Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(12345, actual.Size); Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.CRCKey)); Assert.Equal("000000000000000000000000deadbeef", actual.ReadString(Data.Models.Metadata.Rom.MD5Key)); Assert.Equal("00000000000000000000000000000000deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); diff --git a/SabreTools.Metadata.DatItems/Formats/DataArea.cs b/SabreTools.Metadata.DatItems/Formats/DataArea.cs index 7c184987..5bbb67ee 100644 --- a/SabreTools.Metadata.DatItems/Formats/DataArea.cs +++ b/SabreTools.Metadata.DatItems/Formats/DataArea.cs @@ -29,6 +29,12 @@ namespace SabreTools.Metadata.DatItems.Formats set => (_internal as Data.Models.Metadata.DataArea)?.Name = value; } + public long? Size + { + get => (_internal as Data.Models.Metadata.DataArea)?.Size; + set => (_internal as Data.Models.Metadata.DataArea)?.Size = value; + } + #endregion #region Constructors @@ -38,10 +44,6 @@ namespace SabreTools.Metadata.DatItems.Formats public DataArea(Data.Models.Metadata.DataArea item) : base(item) { // Process flag values - long? size = ReadLong(Data.Models.Metadata.DataArea.SizeKey); - if (size is not null) - Write(Data.Models.Metadata.DataArea.SizeKey, size.ToString()); - long? width = ReadLong(Data.Models.Metadata.DataArea.WidthKey); if (width is not null) Write(Data.Models.Metadata.DataArea.WidthKey, width.ToString()); diff --git a/SabreTools.Metadata.DatItems/Formats/File.cs b/SabreTools.Metadata.DatItems/Formats/File.cs index aba4ee09..65929857 100644 --- a/SabreTools.Metadata.DatItems/Formats/File.cs +++ b/SabreTools.Metadata.DatItems/Formats/File.cs @@ -137,7 +137,7 @@ namespace SabreTools.Metadata.DatItems.Formats var rom = new Rom(); rom.SetName($"{Id}.{Extension}"); - rom.Write(Data.Models.Metadata.Rom.SizeKey, Size); + rom.Size = Size; rom.Write(Data.Models.Metadata.Rom.CRCKey, CRC); rom.Write(Data.Models.Metadata.Rom.MD5Key, MD5); rom.Write(Data.Models.Metadata.Rom.SHA1Key, SHA1); diff --git a/SabreTools.Metadata.DatItems/Formats/Rom.cs b/SabreTools.Metadata.DatItems/Formats/Rom.cs index 5581774c..6a412e9f 100644 --- a/SabreTools.Metadata.DatItems/Formats/Rom.cs +++ b/SabreTools.Metadata.DatItems/Formats/Rom.cs @@ -36,7 +36,7 @@ namespace SabreTools.Metadata.DatItems.Formats var dataArea = Read(DataAreaKey); return dataArea is not null && (!string.IsNullOrEmpty(dataArea.Name) - || dataArea.ReadLong(Data.Models.Metadata.DataArea.SizeKey) is not null + || dataArea.Size is not null || dataArea.ReadLong(Data.Models.Metadata.DataArea.WidthKey) is not null || dataArea.Endianness is not null); } @@ -115,6 +115,12 @@ namespace SabreTools.Metadata.DatItems.Formats } } + public long? Size + { + get => (_internal as Data.Models.Metadata.Rom)?.Size; + set => (_internal as Data.Models.Metadata.Rom)?.Size = value; + } + public bool? SoundOnly { get => (_internal as Data.Models.Metadata.Rom)?.SoundOnly; @@ -193,10 +199,6 @@ namespace SabreTools.Metadata.DatItems.Formats CopyMachineInformation(machine); // Process hash values - long? size = ReadLong(Data.Models.Metadata.Rom.SizeKey); - if (size is not null) - Write(Data.Models.Metadata.Rom.SizeKey, size.ToString()); - // TODO: This should be normalized to CRC-16 string? crc16 = ReadString(Data.Models.Metadata.Rom.CRC16Key); if (crc16 is not null) @@ -253,10 +255,6 @@ namespace SabreTools.Metadata.DatItems.Formats DupeType = 0x00; // Process hash values - long? size = ReadLong(Data.Models.Metadata.Rom.SizeKey); - if (size is not null) - Write(Data.Models.Metadata.Rom.SizeKey, size.ToString()); - // TODO: This should be normalized to CRC-16 string? crc16 = ReadString(Data.Models.Metadata.Rom.CRC16Key); if (crc16 is not null) diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs index aa13aa9a..7e6f844d 100644 --- a/SabreTools.Metadata.Filter/FilterObject.cs +++ b/SabreTools.Metadata.Filter/FilterObject.cs @@ -418,6 +418,9 @@ namespace SabreTools.Metadata.Filter case DataArea item when fieldName == "endianness": checkValue = item.Endianness?.AsStringValue(); return true; + case DataArea item when fieldName == "size": + checkValue = item.Size?.ToString(); + return true; case Device item when fieldName == "type": checkValue = item.DeviceType?.AsStringValue(); @@ -701,6 +704,9 @@ namespace SabreTools.Metadata.Filter case Rom item when fieldName == "optional": checkValue = item.Optional.FromYesNo(); return true; + case Rom item when fieldName == "size": + checkValue = item.Size?.ToString(); + return true; case Rom item when fieldName == "soundonly": checkValue = item.SoundOnly.FromYesNo(); return true; diff --git a/SabreTools.Metadata.Filter/FilterRunner.cs b/SabreTools.Metadata.Filter/FilterRunner.cs index 5c373e94..ddbe82ee 100644 --- a/SabreTools.Metadata.Filter/FilterRunner.cs +++ b/SabreTools.Metadata.Filter/FilterRunner.cs @@ -84,13 +84,11 @@ namespace SabreTools.Metadata.Filter GroupType groupType = GroupType.OR; // Special case for size - if (filter.Key.ItemName == "item" && filter.Key.FieldName == DataArea.SizeKey) + if (filter.Key.ItemName == "item" && filter.Key.FieldName == "size") groupType = GroupType.AND; - else if (filter.Key.ItemName == "item" && filter.Key.FieldName == Rom.SizeKey) + else if (filter.Key.ItemName == "dataarea" && filter.Key.FieldName == "size") groupType = GroupType.AND; - if (filter.Key.ItemName == "dataarea" && filter.Key.FieldName == DataArea.SizeKey) - groupType = GroupType.AND; - else if (filter.Key.ItemName == "rom" && filter.Key.FieldName == Rom.SizeKey) + else if (filter.Key.ItemName == "rom" && filter.Key.FieldName == "size") groupType = GroupType.AND; // Ensure the key exists diff --git a/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs b/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs index 399726ba..fcc21628 100644 --- a/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs +++ b/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs @@ -270,7 +270,7 @@ namespace SabreTools.Metadata.Test { Status = ItemStatus.Nodump, Name = "name", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -289,7 +289,7 @@ namespace SabreTools.Metadata.Test { Status = ItemStatus.Nodump, Name = "name", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -315,7 +315,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "name", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = "XXXXXX", @@ -333,7 +333,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "name", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = string.Empty, @@ -376,7 +376,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -402,7 +402,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -445,7 +445,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -463,7 +463,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -489,7 +489,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = string.Empty, @@ -507,7 +507,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -533,7 +533,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = "XXXXXX", @@ -551,7 +551,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -577,7 +577,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -595,7 +595,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -621,7 +621,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -639,7 +639,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -665,7 +665,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -683,7 +683,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -709,7 +709,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -727,7 +727,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -753,7 +753,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -771,7 +771,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -797,7 +797,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -815,7 +815,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -841,7 +841,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -859,7 +859,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -885,7 +885,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -903,7 +903,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -929,7 +929,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -947,7 +947,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -973,7 +973,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = string.Empty, [Rom.CRCKey] = string.Empty, [Rom.CRC64Key] = string.Empty, @@ -991,7 +991,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -1017,7 +1017,7 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Rom { Name = "XXXXXX1", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", @@ -1035,7 +1035,7 @@ namespace SabreTools.Metadata.Test DictionaryBase other = new Rom { Name = "XXXXXX2", - [Rom.SizeKey] = 12345, + Size = 12345, [Rom.CRC16Key] = "XXXXXX", [Rom.CRCKey] = "XXXXXX", [Rom.CRC64Key] = "XXXXXX", diff --git a/SabreTools.Metadata/DictionaryBaseExtensions.cs b/SabreTools.Metadata/DictionaryBaseExtensions.cs index 5af2c364..21649bff 100644 --- a/SabreTools.Metadata/DictionaryBaseExtensions.cs +++ b/SabreTools.Metadata/DictionaryBaseExtensions.cs @@ -498,8 +498,8 @@ namespace SabreTools.Metadata string? selfName = self.Name; string? otherName = other.Name; - long? selfSize = self.ReadLong(Rom.SizeKey); - long? otherSize = other.ReadLong(Rom.SizeKey); + long? selfSize = self.Size; + long? otherSize = other.Size; // If all hashes are empty but they're both nodump and the names match, then they're dupes if (selfStatus == ItemStatus.Nodump diff --git a/SabreTools.Serialization.CrossModel.Test/ArchiveDotOrgTests.cs b/SabreTools.Serialization.CrossModel.Test/ArchiveDotOrgTests.cs index 4b829eb1..863930c9 100644 --- a/SabreTools.Serialization.CrossModel.Test/ArchiveDotOrgTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ArchiveDotOrgTests.cs @@ -38,7 +38,7 @@ namespace SabreTools.Serialization.CrossModel.Test Source = "XXXXXX", BitTorrentMagnetHash = "XXXXXX", LastModifiedTime = "XXXXXX", - Size = "XXXXXX", + Size = "12345", MD5 = "XXXXXX", CRC32 = "XXXXXX", SHA1 = "XXXXXX", @@ -112,7 +112,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", file.Source); Assert.Equal("XXXXXX", file.BitTorrentMagnetHash); Assert.Equal("XXXXXX", file.LastModifiedTime); - Assert.Equal("XXXXXX", file.Size); + Assert.Equal("12345", file.Size); Assert.Equal("XXXXXX", file.MD5); Assert.Equal("XXXXXX", file.CRC32); Assert.Equal("XXXXXX", file.SHA1); diff --git a/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs b/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs index 14ff0570..5077fd63 100644 --- a/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs @@ -97,7 +97,7 @@ namespace SabreTools.Serialization.CrossModel.Test var rom = new Data.Models.ClrMamePro.Rom { Name = "name", - Size = "XXXXXX", + Size = 12345L, CRC16 = "XXXXXX", CRC = "XXXXXX", CRC64 = "XXXXXX", @@ -360,7 +360,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC16); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.CRC64); diff --git a/SabreTools.Serialization.CrossModel.Test/DosCenterTests.cs b/SabreTools.Serialization.CrossModel.Test/DosCenterTests.cs index 1299669c..e51dbebb 100644 --- a/SabreTools.Serialization.CrossModel.Test/DosCenterTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/DosCenterTests.cs @@ -47,7 +47,7 @@ namespace SabreTools.Serialization.CrossModel.Test var file = new Data.Models.DosCenter.File { Name = "name", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Date = "XXXXXX", @@ -101,7 +101,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX", rom.Date); diff --git a/SabreTools.Serialization.CrossModel.Test/EverdriveSMDBTests.cs b/SabreTools.Serialization.CrossModel.Test/EverdriveSMDBTests.cs index 2d19837c..b3e7ca0c 100644 --- a/SabreTools.Serialization.CrossModel.Test/EverdriveSMDBTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/EverdriveSMDBTests.cs @@ -39,7 +39,7 @@ namespace SabreTools.Serialization.CrossModel.Test SHA1 = "XXXXXX", MD5 = "XXXXXX", CRC32 = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, }; return new Data.Models.EverdriveSMDB.MetadataFile @@ -59,7 +59,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", row.SHA1); Assert.Equal("XXXXXX", row.MD5); Assert.Equal("XXXXXX", row.CRC32); - Assert.Equal("XXXXXX", row.Size); + Assert.Equal(12345L, row.Size); } } } diff --git a/SabreTools.Serialization.CrossModel.Test/ListromTests.cs b/SabreTools.Serialization.CrossModel.Test/ListromTests.cs index dc7e6b8a..16fba80d 100644 --- a/SabreTools.Serialization.CrossModel.Test/ListromTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ListromTests.cs @@ -37,7 +37,7 @@ namespace SabreTools.Serialization.CrossModel.Test var rom = new Data.Models.Listrom.Row { Name = "name", - Size = "XXXXXX", + Size = 12345L, Bad = true, CRC = "XXXXXX", SHA1 = "XXXXXX", @@ -104,7 +104,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(row); Assert.Equal("name", row.Name); - Assert.Equal("XXXXXX", row.Size); + Assert.Equal(12345L, row.Size); Assert.True(row.Bad); Assert.Equal("XXXXXX", row.CRC); Assert.Equal("XXXXXX", row.SHA1); diff --git a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs index f8d265c8..fbc8d6c6 100644 --- a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs @@ -74,7 +74,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "name", Bios = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Merge = "XXXXXX", @@ -486,7 +486,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(rom); Assert.Equal("name", rom.Name); Assert.Equal("XXXXXX", rom.Bios); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX", rom.Merge); diff --git a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs index b72c9725..b06c0000 100644 --- a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs @@ -148,7 +148,7 @@ namespace SabreTools.Serialization.CrossModel.Test var rom = new Data.Models.Logiqx.Rom { Name = "name", - Size = "XXXXXX", + Size = 12345L, CRC16 = "XXXXXX", CRC = "XXXXXX", CRC64 = "XXXXXX", @@ -464,7 +464,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC16); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.CRC64); diff --git a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs index d3b3bbda..57eb1005 100644 --- a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs +++ b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs @@ -70,7 +70,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "name", Bios = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Merge = "XXXXXX", @@ -480,7 +480,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(rom); Assert.Equal("name", rom.Name); Assert.Equal("XXXXXX", rom.Bios); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX", rom.Merge); diff --git a/SabreTools.Serialization.CrossModel.Test/MessTests.cs b/SabreTools.Serialization.CrossModel.Test/MessTests.cs index d8107b27..d1fedb5e 100644 --- a/SabreTools.Serialization.CrossModel.Test/MessTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/MessTests.cs @@ -70,7 +70,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "name", Bios = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Merge = "XXXXXX", @@ -480,7 +480,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(rom); Assert.Equal("name", rom.Name); Assert.Equal("XXXXXX", rom.Bios); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX", rom.Merge); diff --git a/SabreTools.Serialization.CrossModel.Test/OfflineListTests.cs b/SabreTools.Serialization.CrossModel.Test/OfflineListTests.cs index b2d42112..24d7909f 100644 --- a/SabreTools.Serialization.CrossModel.Test/OfflineListTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/OfflineListTests.cs @@ -191,7 +191,7 @@ namespace SabreTools.Serialization.CrossModel.Test ReleaseNumber = "XXXXXX", Title = "XXXXXX", SaveType = "XXXXXX", - RomSize = "XXXXXX", + RomSize = 12345L, Publisher = "XXXXXX", Location = "XXXXXX", SourceRom = "XXXXXX", @@ -379,7 +379,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", game.ReleaseNumber); Assert.Equal("XXXXXX", game.Title); Assert.Equal("XXXXXX", game.SaveType); - Assert.Equal("0", game.RomSize); // Converted due to filtering + Assert.Equal(12345L, game.RomSize); Assert.Equal("XXXXXX", game.Publisher); Assert.Equal("XXXXXX", game.Location); Assert.Equal("XXXXXX", game.SourceRom); diff --git a/SabreTools.Serialization.CrossModel.Test/RomCenterTests.cs b/SabreTools.Serialization.CrossModel.Test/RomCenterTests.cs index 86bfa6c5..96d18db9 100644 --- a/SabreTools.Serialization.CrossModel.Test/RomCenterTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/RomCenterTests.cs @@ -66,7 +66,7 @@ namespace SabreTools.Serialization.CrossModel.Test GameDescription = "description", RomName = "XXXXXX", RomCRC = "XXXXXX", - RomSize = "XXXXXX", + RomSize = 12345L, RomOf = "XXXXXX", MergeName = "XXXXXX", }; @@ -145,7 +145,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("description", rom.GameDescription); Assert.Equal("XXXXXX", rom.RomName); Assert.Equal("XXXXXX", rom.RomCRC); - Assert.Equal("XXXXXX", rom.RomSize); + Assert.Equal(12345L, rom.RomSize); Assert.Equal("XXXXXX", rom.RomOf); Assert.Equal("XXXXXX", rom.MergeName); } diff --git a/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs b/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs index c64a9ca1..83448455 100644 --- a/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs @@ -76,7 +76,7 @@ namespace SabreTools.Serialization.CrossModel.Test GameDescription = "description", Type = "rom", RomName = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", MD5 = "XXXXXX", SHA1 = "XXXXXX", @@ -168,7 +168,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("rom", row.Type); Assert.Equal("XXXXXX", row.RomName); Assert.Null(row.DiskName); - Assert.Equal("XXXXXX", row.Size); + Assert.Equal(12345L, row.Size); Assert.Equal("XXXXXX", row.CRC); Assert.Equal("XXXXXX", row.MD5); Assert.Equal("XXXXXX", row.SHA1); diff --git a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs index 0106999e..9a13de11 100644 --- a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs @@ -57,7 +57,7 @@ namespace SabreTools.Serialization.CrossModel.Test var rom = new Data.Models.SoftwareList.Rom { Name = "name", - Size = "XXXXXX", + Size = 12345L, Length = "XXXXXX", CRC = "XXXXXX", SHA1 = "XXXXXX", @@ -70,7 +70,7 @@ namespace SabreTools.Serialization.CrossModel.Test var dataarea = new Data.Models.SoftwareList.DataArea { Name = "name", - Size = "XXXXXX", + Size = 12345L, Width = "XXXXXX", Endianness = Data.Models.Metadata.Endianness.Big, Rom = [rom], @@ -229,7 +229,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(dataarea); Assert.Equal("name", dataarea.Name); - Assert.Equal("XXXXXX", dataarea.Size); + Assert.Equal(12345L, dataarea.Size); Assert.Equal("XXXXXX", dataarea.Width); Assert.Equal(Data.Models.Metadata.Endianness.Big, dataarea.Endianness); @@ -245,7 +245,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.Length); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); diff --git a/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Deserializer.cs b/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Deserializer.cs index f194e1f0..fbf426f2 100644 --- a/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Deserializer.cs @@ -48,7 +48,7 @@ namespace SabreTools.Serialization.CrossModel Source = item.ReadString(Data.Models.Metadata.Rom.SourceKey), BitTorrentMagnetHash = item.ReadString(Data.Models.Metadata.Rom.BitTorrentMagnetHashKey), LastModifiedTime = item.ReadString(Data.Models.Metadata.Rom.LastModifiedTimeKey), - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size?.ToString(), MD5 = item.ReadString(Data.Models.Metadata.Rom.MD5Key), CRC32 = item.ReadString(Data.Models.Metadata.Rom.CRCKey), SHA1 = item.ReadString(Data.Models.Metadata.Rom.SHA1Key), diff --git a/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Serializer.cs b/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Serializer.cs index 21fdf3f4..7b76d5c0 100644 --- a/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/ArchiveDotOrg.Serializer.cs @@ -1,5 +1,6 @@ using System; using SabreTools.Data.Models.ArchiveDotOrg; +using SabreTools.Text.Extensions; namespace SabreTools.Serialization.CrossModel { @@ -65,7 +66,7 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Rom.SourceKey] = item.Source, [Data.Models.Metadata.Rom.BitTorrentMagnetHashKey] = item.BitTorrentMagnetHash, [Data.Models.Metadata.Rom.LastModifiedTimeKey] = item.LastModifiedTime, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = NumberHelper.ConvertToInt64(item.Size), [Data.Models.Metadata.Rom.MD5Key] = item.MD5, [Data.Models.Metadata.Rom.CRCKey] = item.CRC32, [Data.Models.Metadata.Rom.SHA1Key] = item.SHA1, diff --git a/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs b/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs index abc250fb..a18265e7 100644 --- a/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs @@ -279,7 +279,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Rom { Name = item.Name, - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, CRC16 = item.ReadString(Data.Models.Metadata.Rom.CRC16Key), CRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), CRC64 = item.ReadString(Data.Models.Metadata.Rom.CRC64Key), diff --git a/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs b/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs index 99b281ce..f333c50f 100644 --- a/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs @@ -292,7 +292,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Data.Models.Metadata.Rom { Name = item.Name, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.Rom.CRC16Key] = item.CRC16, [Data.Models.Metadata.Rom.CRCKey] = item.CRC, [Data.Models.Metadata.Rom.CRC64Key] = item.CRC64, diff --git a/SabreTools.Serialization.CrossModel/DosCenter.Deserializer.cs b/SabreTools.Serialization.CrossModel/DosCenter.Deserializer.cs index 2192f6bf..abe0dcfc 100644 --- a/SabreTools.Serialization.CrossModel/DosCenter.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/DosCenter.Deserializer.cs @@ -67,7 +67,7 @@ namespace SabreTools.Serialization.CrossModel var file = new File { Name = item.Name, - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, CRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), SHA1 = item.ReadString(Data.Models.Metadata.Rom.SHA1Key), Date = item.ReadString(Data.Models.Metadata.Rom.DateKey), diff --git a/SabreTools.Serialization.CrossModel/DosCenter.Serializer.cs b/SabreTools.Serialization.CrossModel/DosCenter.Serializer.cs index 2fa7c5d2..b4d2faee 100644 --- a/SabreTools.Serialization.CrossModel/DosCenter.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/DosCenter.Serializer.cs @@ -70,7 +70,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Data.Models.Metadata.Rom { Name = item.Name, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.Rom.CRCKey] = item.CRC, [Data.Models.Metadata.Rom.SHA1Key] = item.SHA1, [Data.Models.Metadata.Rom.DateKey] = item.Date, diff --git a/SabreTools.Serialization.CrossModel/EverdriveSMDB.Deserializer.cs b/SabreTools.Serialization.CrossModel/EverdriveSMDB.Deserializer.cs index bbb8bf43..c0bc3ce2 100644 --- a/SabreTools.Serialization.CrossModel/EverdriveSMDB.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/EverdriveSMDB.Deserializer.cs @@ -50,7 +50,7 @@ namespace SabreTools.Serialization.CrossModel SHA1 = item.ReadString(Data.Models.Metadata.Rom.SHA1Key), MD5 = item.ReadString(Data.Models.Metadata.Rom.MD5Key), CRC32 = item.ReadString(Data.Models.Metadata.Rom.CRCKey), - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, }; return row; } diff --git a/SabreTools.Serialization.CrossModel/EverdriveSMDB.Serializer.cs b/SabreTools.Serialization.CrossModel/EverdriveSMDB.Serializer.cs index 89b6f060..66b6f9f6 100644 --- a/SabreTools.Serialization.CrossModel/EverdriveSMDB.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/EverdriveSMDB.Serializer.cs @@ -61,7 +61,7 @@ namespace SabreTools.Serialization.CrossModel [Data.Models.Metadata.Rom.SHA1Key] = item.SHA1, [Data.Models.Metadata.Rom.MD5Key] = item.MD5, [Data.Models.Metadata.Rom.CRCKey] = item.CRC32, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, }; return rom; } diff --git a/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs index 5e7d0428..e37f8aa3 100644 --- a/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Listrom.Deserializer.cs @@ -76,7 +76,7 @@ namespace SabreTools.Serialization.CrossModel var row = new Row { Name = item.Name, - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, CRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), SHA1 = item.ReadString(Data.Models.Metadata.Rom.SHA1Key), }; diff --git a/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs b/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs index d696ad0a..94c44e35 100644 --- a/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Listrom.Serializer.cs @@ -100,7 +100,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Data.Models.Metadata.Rom { Name = item.Name, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.Rom.CRCKey] = item.CRC, [Data.Models.Metadata.Rom.SHA1Key] = item.SHA1, }; diff --git a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs index 15058bcd..40e0bc67 100644 --- a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs @@ -567,7 +567,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, Bios = item.ReadString(Data.Models.Metadata.Rom.BiosKey), - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, CRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), SHA1 = item.ReadString(Data.Models.Metadata.Rom.SHA1Key), Merge = item.ReadString(Data.Models.Metadata.Rom.MergeKey), diff --git a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs index c4687ff2..2d05c97e 100644 --- a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs @@ -606,7 +606,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, [Data.Models.Metadata.Rom.BiosKey] = item.Bios, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.Rom.CRCKey] = item.CRC, [Data.Models.Metadata.Rom.SHA1Key] = item.SHA1, [Data.Models.Metadata.Rom.MergeKey] = item.Merge, diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs index 6c2ed3d7..aeeca2bc 100644 --- a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs @@ -301,7 +301,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Rom { Name = item.Name, - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, CRC16 = item.ReadString(Data.Models.Metadata.Rom.CRC16Key), CRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), CRC64 = item.ReadString(Data.Models.Metadata.Rom.CRC64Key), diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs index ef4a60ae..7ef34233 100644 --- a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs @@ -295,7 +295,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Data.Models.Metadata.Rom { Name = item.Name, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.Rom.CRC16Key] = item.CRC16, [Data.Models.Metadata.Rom.CRCKey] = item.CRC, [Data.Models.Metadata.Rom.CRC64Key] = item.CRC64, diff --git a/SabreTools.Serialization.CrossModel/OfflineList.Deserializer.cs b/SabreTools.Serialization.CrossModel/OfflineList.Deserializer.cs index 554073a1..dec6856c 100644 --- a/SabreTools.Serialization.CrossModel/OfflineList.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/OfflineList.Deserializer.cs @@ -99,8 +99,8 @@ namespace SabreTools.Serialization.CrossModel var roms = item.Read(Data.Models.Metadata.Machine.RomKey); if (roms is not null && roms.Length > 0) { - var romSizes = Array.ConvertAll(roms, r => r.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? -1); - game.RomSize = Array.Find(romSizes, s => s > -1).ToString(); + var romSizes = Array.ConvertAll(roms, r => r.Size ?? -1); + game.RomSize = Array.Find(romSizes, s => s > -1); var romCRCs = Array.ConvertAll(roms, ConvertFromInternalModel); game.Files = new Files { RomCRC = romCRCs }; diff --git a/SabreTools.Serialization.CrossModel/OfflineList.Serializer.cs b/SabreTools.Serialization.CrossModel/OfflineList.Serializer.cs index 70436b2f..5a77b9d9 100644 --- a/SabreTools.Serialization.CrossModel/OfflineList.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/OfflineList.Serializer.cs @@ -85,7 +85,7 @@ namespace SabreTools.Serialization.CrossModel = Array.ConvertAll(item.Files.RomCRC, romCRC => { var rom = ConvertToInternalModel(romCRC); - rom[Data.Models.Metadata.Rom.SizeKey] = item.RomSize; + rom.Size = item.RomSize; return rom; }); } diff --git a/SabreTools.Serialization.CrossModel/RomCenter.Deserializer.cs b/SabreTools.Serialization.CrossModel/RomCenter.Deserializer.cs index b5ffef2d..5160815e 100644 --- a/SabreTools.Serialization.CrossModel/RomCenter.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/RomCenter.Deserializer.cs @@ -104,7 +104,7 @@ namespace SabreTools.Serialization.CrossModel GameDescription = parent.Description, RomName = item.Name, RomCRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), - RomSize = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + RomSize = item.Size, RomOf = parent.ReadString(Data.Models.Metadata.Machine.RomOfKey), MergeName = item.ReadString(Data.Models.Metadata.Rom.MergeKey), }; diff --git a/SabreTools.Serialization.CrossModel/RomCenter.Serializer.cs b/SabreTools.Serialization.CrossModel/RomCenter.Serializer.cs index d6eff885..029adf4d 100644 --- a/SabreTools.Serialization.CrossModel/RomCenter.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/RomCenter.Serializer.cs @@ -90,7 +90,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.RomName, [Data.Models.Metadata.Rom.CRCKey] = item.RomCRC, - [Data.Models.Metadata.Rom.SizeKey] = item.RomSize, + Size = item.RomSize, [Data.Models.Metadata.Rom.MergeKey] = item.MergeName, }; return rom; diff --git a/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs b/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs index 5f6c3d09..2d9c5377 100644 --- a/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs @@ -139,7 +139,7 @@ namespace SabreTools.Serialization.CrossModel Type = "rom", RomName = item.Name, DiskName = null, - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, CRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), MD5 = item.ReadString(Data.Models.Metadata.Rom.MD5Key), SHA1 = item.ReadString(Data.Models.Metadata.Rom.SHA1Key), diff --git a/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs b/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs index 6a9382e2..a3fb9f8e 100644 --- a/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs @@ -105,7 +105,7 @@ namespace SabreTools.Serialization.CrossModel "rom" => new Data.Models.Metadata.Rom { Name = item.RomName, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.Rom.CRCKey] = item.CRC, [Data.Models.Metadata.Rom.MD5Key] = item.MD5, [Data.Models.Metadata.Rom.SHA1Key] = item.SHA1, diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs index 5d388721..72d4ac87 100644 --- a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs @@ -74,7 +74,7 @@ namespace SabreTools.Serialization.CrossModel var dataArea = new DataArea { Name = item.Name, - Size = item.ReadString(Data.Models.Metadata.DataArea.SizeKey), + Size = item.Size, Width = item.ReadString(Data.Models.Metadata.DataArea.WidthKey), Endianness = item.Endianness, }; @@ -216,7 +216,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Rom { Name = item.Name, - Size = item.ReadString(Data.Models.Metadata.Rom.SizeKey), + Size = item.Size, Length = item.ReadString(Data.Models.Metadata.Rom.LengthKey), CRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey), SHA1 = item.ReadString(Data.Models.Metadata.Rom.SHA1Key), diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs index 64403020..155b9125 100644 --- a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs @@ -32,7 +32,7 @@ namespace SabreTools.Serialization.CrossModel { var header = new Data.Models.Metadata.Header { - Name = item.Name, + Name = item.Name, Description = item.Description, Notes = item.Notes, }; @@ -75,7 +75,7 @@ namespace SabreTools.Serialization.CrossModel var dataArea = new Data.Models.Metadata.DataArea { Name = item.Name, - [Data.Models.Metadata.DataArea.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.DataArea.WidthKey] = item.Width, Endianness = item.Endianness, }; @@ -210,7 +210,7 @@ namespace SabreTools.Serialization.CrossModel var rom = new Data.Models.Metadata.Rom { Name = item.Name, - [Data.Models.Metadata.Rom.SizeKey] = item.Size, + Size = item.Size, [Data.Models.Metadata.Rom.LengthKey] = item.Length, [Data.Models.Metadata.Rom.CRCKey] = item.CRC, [Data.Models.Metadata.Rom.SHA1Key] = item.SHA1, diff --git a/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs b/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs index afe24853..d39a222c 100644 --- a/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs +++ b/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs @@ -214,7 +214,7 @@ namespace SabreTools.Serialization.Readers.Test var rom = new Data.Models.ClrMamePro.Rom { Name = "name", - Size = "XXXXXX", + Size = 12345L, CRC16 = "XXXXXX", CRC = "XXXXXX", CRC64 = "XXXXXX", @@ -477,7 +477,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC16); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.CRC64); diff --git a/SabreTools.Serialization.Readers.Test/DosCenterTests.cs b/SabreTools.Serialization.Readers.Test/DosCenterTests.cs index 0332eee7..40e43160 100644 --- a/SabreTools.Serialization.Readers.Test/DosCenterTests.cs +++ b/SabreTools.Serialization.Readers.Test/DosCenterTests.cs @@ -113,7 +113,7 @@ namespace SabreTools.Serialization.Readers.Test var file = new Data.Models.DosCenter.File { Name = "name", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Date = "XXXXXX XXXXXX", @@ -167,7 +167,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX XXXXXX", rom.Date); diff --git a/SabreTools.Serialization.Readers.Test/EverdriveSMDBTests.cs b/SabreTools.Serialization.Readers.Test/EverdriveSMDBTests.cs index 63b2c334..d109d09b 100644 --- a/SabreTools.Serialization.Readers.Test/EverdriveSMDBTests.cs +++ b/SabreTools.Serialization.Readers.Test/EverdriveSMDBTests.cs @@ -105,7 +105,7 @@ namespace SabreTools.Serialization.Readers.Test SHA1 = "XXXXXX", MD5 = "XXXXXX", CRC32 = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, }; return new Data.Models.EverdriveSMDB.MetadataFile @@ -125,7 +125,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", row.SHA1); Assert.Equal("XXXXXX", row.MD5); Assert.Equal("XXXXXX", row.CRC32); - Assert.Equal("XXXXXX", row.Size); + Assert.Equal(12345L, row.Size); } } } diff --git a/SabreTools.Serialization.Readers.Test/ListromTests.cs b/SabreTools.Serialization.Readers.Test/ListromTests.cs index 6e5b9991..aefdefcc 100644 --- a/SabreTools.Serialization.Readers.Test/ListromTests.cs +++ b/SabreTools.Serialization.Readers.Test/ListromTests.cs @@ -103,7 +103,7 @@ namespace SabreTools.Serialization.Readers.Test var romGood = new Data.Models.Listrom.Row { Name = "name", - Size = "12345", + Size = 12345L, Bad = false, CRC = Hashing.HashType.CRC32.ZeroString, SHA1 = Hashing.HashType.SHA1.ZeroString, @@ -113,7 +113,7 @@ namespace SabreTools.Serialization.Readers.Test var romBad = new Data.Models.Listrom.Row { Name = "name", - Size = "12345", + Size = 12345L, Bad = true, CRC = Hashing.HashType.CRC32.ZeroString, SHA1 = Hashing.HashType.SHA1.ZeroString, @@ -203,7 +203,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(row); Assert.Equal("name", row.Name); - Assert.Equal("12345", row.Size); + Assert.Equal(12345L, row.Size); Assert.False(row.Bad); Assert.Equal(Hashing.HashType.CRC32.ZeroString, row.CRC); Assert.Equal(Hashing.HashType.SHA1.ZeroString, row.SHA1); @@ -217,7 +217,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(row); Assert.Equal("name", row.Name); - Assert.Equal("12345", row.Size); + Assert.Equal(12345L, row.Size); Assert.True(row.Bad); Assert.Equal(Hashing.HashType.CRC32.ZeroString, row.CRC); Assert.Equal(Hashing.HashType.SHA1.ZeroString, row.SHA1); diff --git a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs index de443527..a540749f 100644 --- a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs +++ b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs @@ -141,7 +141,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "name", Bios = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Merge = "XXXXXX", @@ -553,7 +553,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(rom); Assert.Equal("name", rom.Name); Assert.Equal("XXXXXX", rom.Bios); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX", rom.Merge); diff --git a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs index 88e48ebb..415951e5 100644 --- a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs +++ b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs @@ -213,7 +213,7 @@ namespace SabreTools.Serialization.Readers.Test var rom = new Data.Models.Logiqx.Rom { Name = "name", - Size = "XXXXXX", + Size = 12345L, CRC16 = "XXXXXX", CRC = "XXXXXX", CRC64 = "XXXXXX", @@ -514,7 +514,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.MD2); Assert.Equal("XXXXXX", rom.MD4); diff --git a/SabreTools.Serialization.Readers.Test/M1Tests.cs b/SabreTools.Serialization.Readers.Test/M1Tests.cs index 64c85fea..b4bc6e9c 100644 --- a/SabreTools.Serialization.Readers.Test/M1Tests.cs +++ b/SabreTools.Serialization.Readers.Test/M1Tests.cs @@ -137,7 +137,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "name", Bios = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Merge = "XXXXXX", @@ -547,7 +547,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(rom); Assert.Equal("name", rom.Name); Assert.Equal("XXXXXX", rom.Bios); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX", rom.Merge); diff --git a/SabreTools.Serialization.Readers.Test/MessTests.cs b/SabreTools.Serialization.Readers.Test/MessTests.cs index 5570a6b8..1d3f4744 100644 --- a/SabreTools.Serialization.Readers.Test/MessTests.cs +++ b/SabreTools.Serialization.Readers.Test/MessTests.cs @@ -137,7 +137,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "name", Bios = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", SHA1 = "XXXXXX", Merge = "XXXXXX", @@ -547,7 +547,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(rom); Assert.Equal("name", rom.Name); Assert.Equal("XXXXXX", rom.Bios); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); Assert.Equal("XXXXXX", rom.Merge); diff --git a/SabreTools.Serialization.Readers.Test/OfflineListTests.cs b/SabreTools.Serialization.Readers.Test/OfflineListTests.cs index ff8b557d..74edbda6 100644 --- a/SabreTools.Serialization.Readers.Test/OfflineListTests.cs +++ b/SabreTools.Serialization.Readers.Test/OfflineListTests.cs @@ -257,7 +257,7 @@ namespace SabreTools.Serialization.Readers.Test ReleaseNumber = "XXXXXX", Title = "XXXXXX", SaveType = "XXXXXX", - RomSize = "XXXXXX", + RomSize = 12345L, Publisher = "XXXXXX", Location = "XXXXXX", SourceRom = "XXXXXX", @@ -445,7 +445,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", game.ReleaseNumber); Assert.Equal("XXXXXX", game.Title); Assert.Equal("XXXXXX", game.SaveType); - Assert.Equal("XXXXXX", game.RomSize); + Assert.Equal(12345L, game.RomSize); Assert.Equal("XXXXXX", game.Publisher); Assert.Equal("XXXXXX", game.Location); Assert.Equal("XXXXXX", game.SourceRom); diff --git a/SabreTools.Serialization.Readers.Test/RomCenterTests.cs b/SabreTools.Serialization.Readers.Test/RomCenterTests.cs index 40ebaaee..0ee45882 100644 --- a/SabreTools.Serialization.Readers.Test/RomCenterTests.cs +++ b/SabreTools.Serialization.Readers.Test/RomCenterTests.cs @@ -132,7 +132,7 @@ namespace SabreTools.Serialization.Readers.Test GameDescription = "description", RomName = "XXXXXX", RomCRC = "XXXXXX", - RomSize = "XXXXXX", + RomSize = 12345L, RomOf = "XXXXXX", MergeName = "XXXXXX", }; @@ -211,7 +211,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("description", rom.GameDescription); Assert.Equal("XXXXXX", rom.RomName); Assert.Equal("XXXXXX", rom.RomCRC); - Assert.Equal("XXXXXX", rom.RomSize); + Assert.Equal(12345L, rom.RomSize); Assert.Equal("XXXXXX", rom.RomOf); Assert.Equal("XXXXXX", rom.MergeName); } diff --git a/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs b/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs index c1319527..b671d7fd 100644 --- a/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs +++ b/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs @@ -171,7 +171,7 @@ namespace SabreTools.Serialization.Readers.Test GameDescription = "description", Type = "rom", RomName = "XXXXXX", - Size = "XXXXXX", + Size = 12345L, CRC = "XXXXXX", MD5 = "XXXXXX", SHA1 = "XXXXXX", @@ -215,7 +215,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("disk", row.Type); Assert.NotNull(row.RomName); Assert.Empty(row.RomName); Assert.Equal("XXXXXX", row.DiskName); - Assert.NotNull(row.Size); Assert.Empty(row.Size); + Assert.Null(row.Size); Assert.NotNull(row.CRC); Assert.Empty(row.CRC); Assert.Equal("XXXXXX", row.MD5); Assert.Equal("XXXXXX", row.SHA1); @@ -250,7 +250,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("media", row.Type); Assert.NotNull(row.RomName); Assert.Empty(row.RomName); Assert.Equal("XXXXXX", row.DiskName); - Assert.NotNull(row.Size); Assert.Empty(row.Size); + Assert.Null(row.Size); Assert.NotNull(row.CRC); Assert.Empty(row.CRC); Assert.Equal("XXXXXX", row.MD5); Assert.Equal("XXXXXX", row.SHA1); @@ -286,7 +286,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", row.RomName); Assert.NotNull(row.DiskName); Assert.Empty(row.DiskName); - Assert.Equal("XXXXXX", row.Size); + Assert.Equal(12345L, row.Size); Assert.Equal("XXXXXX", row.CRC); Assert.Equal("XXXXXX", row.MD5); Assert.Equal("XXXXXX", row.SHA1); diff --git a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs index bcac0896..37f02e65 100644 --- a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs +++ b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs @@ -130,7 +130,7 @@ namespace SabreTools.Serialization.Readers.Test var rom = new Data.Models.SoftwareList.Rom { Name = "name", - Size = "XXXXXX", + Size = 12345L, Length = "XXXXXX", CRC = "XXXXXX", SHA1 = "XXXXXX", @@ -143,7 +143,7 @@ namespace SabreTools.Serialization.Readers.Test var dataarea = new Data.Models.SoftwareList.DataArea { Name = "name", - Size = "XXXXXX", + Size = 12345L, Width = "XXXXXX", Endianness = Data.Models.Metadata.Endianness.Big, Rom = [rom], @@ -302,7 +302,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(dataarea); Assert.Equal("name", dataarea.Name); - Assert.Equal("XXXXXX", dataarea.Size); + Assert.Equal(12345L, dataarea.Size); Assert.Equal("XXXXXX", dataarea.Width); Assert.Equal(Data.Models.Metadata.Endianness.Big, dataarea.Endianness); @@ -318,7 +318,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(rom); Assert.Equal("name", rom.Name); - Assert.Equal("XXXXXX", rom.Size); + Assert.Equal(12345L, rom.Size); Assert.Equal("XXXXXX", rom.Length); Assert.Equal("XXXXXX", rom.CRC); Assert.Equal("XXXXXX", rom.SHA1); diff --git a/SabreTools.Serialization.Readers/ClrMamePro.cs b/SabreTools.Serialization.Readers/ClrMamePro.cs index 2761c576..68ebc68b 100644 --- a/SabreTools.Serialization.Readers/ClrMamePro.cs +++ b/SabreTools.Serialization.Readers/ClrMamePro.cs @@ -530,7 +530,7 @@ namespace SabreTools.Serialization.Readers rom.Name = kvp.Value; break; case "size": - rom.Size = kvp.Value; + rom.Size = NumberHelper.ConvertToInt64(kvp.Value); break; case "crc": rom.CRC = kvp.Value; diff --git a/SabreTools.Serialization.Readers/DosCenter.cs b/SabreTools.Serialization.Readers/DosCenter.cs index 0480c926..e7d7ddeb 100644 --- a/SabreTools.Serialization.Readers/DosCenter.cs +++ b/SabreTools.Serialization.Readers/DosCenter.cs @@ -1,8 +1,10 @@ +using System; using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.Data.Models.DosCenter; using SabreTools.Text.ClrMamePro; +using SabreTools.Text.Extensions; namespace SabreTools.Serialization.Readers { @@ -176,7 +178,7 @@ namespace SabreTools.Serialization.Readers /// /// ClrMameProReader representing the metadata file /// File object created from the reader context - private static Data.Models.DosCenter.File? CreateFile(Reader reader) + private Data.Models.DosCenter.File? CreateFile(Reader reader) { if (reader.Internal is null) return null; @@ -190,7 +192,7 @@ namespace SabreTools.Serialization.Readers file.Name = kvp.Value; break; case "size": - file.Size = kvp.Value; + file.Size = NumberHelper.ConvertToInt64(kvp.Value); break; case "crc": file.CRC = kvp.Value; @@ -202,7 +204,7 @@ namespace SabreTools.Serialization.Readers file.Date = kvp.Value; break; default: - // TODO: Log invalid values + if (Debug) Console.Error.WriteLine($"'{kvp.Key}' is an unrecognized field"); break; } } diff --git a/SabreTools.Serialization.Readers/EverdriveSMDB.cs b/SabreTools.Serialization.Readers/EverdriveSMDB.cs index 100579b2..5031b142 100644 --- a/SabreTools.Serialization.Readers/EverdriveSMDB.cs +++ b/SabreTools.Serialization.Readers/EverdriveSMDB.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.Data.Models.EverdriveSMDB; +using SabreTools.Text.Extensions; using SabreTools.Text.SeparatedValue; namespace SabreTools.Serialization.Readers @@ -50,7 +51,7 @@ namespace SabreTools.Serialization.Readers // If we have the size field if (reader.Line.Count > 5) - row.Size = reader.Line[5]; + row.Size = NumberHelper.ConvertToInt64(reader.Line[5]); rows.Add(row); } diff --git a/SabreTools.Serialization.Readers/Listrom.cs b/SabreTools.Serialization.Readers/Listrom.cs index 205a9aec..1c219b5e 100644 --- a/SabreTools.Serialization.Readers/Listrom.cs +++ b/SabreTools.Serialization.Readers/Listrom.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.Data.Models.Listrom; +using SabreTools.Text.Extensions; #pragma warning disable IDE0057 // Use range operator namespace SabreTools.Serialization.Readers @@ -146,7 +147,7 @@ namespace SabreTools.Serialization.Readers // Normal ROM (Name, Size, CRC, MD5/SHA1) case 3 when line.Contains("CRC"): row.Name = name; - row.Size = lineParts[0]; + row.Size = NumberHelper.ConvertToInt64(lineParts[0]); #if NETCOREAPP || NETSTANDARD2_1_OR_GREATER row.CRC = lineParts[1]["CRC".Length..].Trim('(', ')'); #else @@ -193,7 +194,7 @@ namespace SabreTools.Serialization.Readers // Bad ROM (Name, Size, BAD, CRC, MD5/SHA1, BAD_DUMP) case 5 when line.Contains("BAD_DUMP"): row.Name = name; - row.Size = lineParts[0]; + row.Size = NumberHelper.ConvertToInt64(lineParts[0]); row.Bad = true; #if NETCOREAPP || NETSTANDARD2_1_OR_GREATER row.CRC = lineParts[2]["CRC".Length..].Trim('(', ')'); @@ -217,7 +218,7 @@ namespace SabreTools.Serialization.Readers // Nodump ROM (Name, Size, NO GOOD DUMP KNOWN) case 5 when line.Contains("NO GOOD DUMP KNOWN"): row.Name = name; - row.Size = lineParts[0]; + row.Size = NumberHelper.ConvertToInt64(lineParts[0]); row.NoGoodDumpKnown = true; break; diff --git a/SabreTools.Serialization.Readers/Listxml.cs b/SabreTools.Serialization.Readers/Listxml.cs index aaa70299..b2fa98bb 100644 --- a/SabreTools.Serialization.Readers/Listxml.cs +++ b/SabreTools.Serialization.Readers/Listxml.cs @@ -1047,7 +1047,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Bios = reader.GetAttribute("bios"); - obj.Size = reader.GetAttribute("size"); + obj.Size = NumberHelper.ConvertToInt64(reader.GetAttribute("size")); obj.CRC = reader.GetAttribute("crc"); obj.SHA1 = reader.GetAttribute("sha1"); obj.Merge = reader.GetAttribute("merge"); diff --git a/SabreTools.Serialization.Readers/Logiqx.cs b/SabreTools.Serialization.Readers/Logiqx.cs index 37c05445..25c6e534 100644 --- a/SabreTools.Serialization.Readers/Logiqx.cs +++ b/SabreTools.Serialization.Readers/Logiqx.cs @@ -4,6 +4,7 @@ using System.IO; using System.Xml; using SabreTools.Data.Extensions; using SabreTools.Data.Models.Logiqx; +using SabreTools.Text.Extensions; namespace SabreTools.Serialization.Readers { @@ -689,7 +690,7 @@ namespace SabreTools.Serialization.Readers var obj = new Rom(); obj.Name = reader.GetAttribute("name"); - obj.Size = reader.GetAttribute("size"); + obj.Size = NumberHelper.ConvertToInt64(reader.GetAttribute("size")); obj.CRC16 = reader.GetAttribute("crc16"); obj.CRC = reader.GetAttribute("crc"); obj.CRC64 = reader.GetAttribute("crc64"); diff --git a/SabreTools.Serialization.Readers/M1.cs b/SabreTools.Serialization.Readers/M1.cs index 5a2b94df..308a17b8 100644 --- a/SabreTools.Serialization.Readers/M1.cs +++ b/SabreTools.Serialization.Readers/M1.cs @@ -1045,7 +1045,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Bios = reader.GetAttribute("bios"); - obj.Size = reader.GetAttribute("size"); + obj.Size = NumberHelper.ConvertToInt64(reader.GetAttribute("size")); obj.CRC = reader.GetAttribute("crc"); obj.SHA1 = reader.GetAttribute("sha1"); obj.Merge = reader.GetAttribute("merge"); diff --git a/SabreTools.Serialization.Readers/Mess.cs b/SabreTools.Serialization.Readers/Mess.cs index 534a9717..5b93bf45 100644 --- a/SabreTools.Serialization.Readers/Mess.cs +++ b/SabreTools.Serialization.Readers/Mess.cs @@ -1045,7 +1045,7 @@ namespace SabreTools.Serialization.Readers obj.Name = reader.GetAttribute("name"); obj.Bios = reader.GetAttribute("bios"); - obj.Size = reader.GetAttribute("size"); + obj.Size = NumberHelper.ConvertToInt64(reader.GetAttribute("size")); obj.CRC = reader.GetAttribute("crc"); obj.SHA1 = reader.GetAttribute("sha1"); obj.Merge = reader.GetAttribute("merge"); diff --git a/SabreTools.Serialization.Readers/OfflineList.cs b/SabreTools.Serialization.Readers/OfflineList.cs index 2a469d3e..58892a50 100644 --- a/SabreTools.Serialization.Readers/OfflineList.cs +++ b/SabreTools.Serialization.Readers/OfflineList.cs @@ -4,6 +4,7 @@ using System.IO; using System.Xml; using SabreTools.Data.Extensions; using SabreTools.Data.Models.OfflineList; +using SabreTools.Text.Extensions; namespace SabreTools.Serialization.Readers { @@ -416,7 +417,7 @@ namespace SabreTools.Serialization.Readers if (obj.RomSize is not null && Debug) Console.WriteLine($"'{reader.Name}' element already found, overwriting"); - obj.RomSize = reader.ReadElementContentAsString(); + obj.RomSize = NumberHelper.ConvertToInt64(reader.ReadElementContentAsString()); break; case "publisher": if (obj.Publisher is not null && Debug) diff --git a/SabreTools.Serialization.Readers/RomCenter.cs b/SabreTools.Serialization.Readers/RomCenter.cs index 22791773..020277e8 100644 --- a/SabreTools.Serialization.Readers/RomCenter.cs +++ b/SabreTools.Serialization.Readers/RomCenter.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using SabreTools.Data.Models.RomCenter; +using SabreTools.Text.Extensions; using SabreTools.Text.INI; #pragma warning disable CA1847 // Use char literal for a single character lookup @@ -166,7 +167,7 @@ namespace SabreTools.Serialization.Readers GameDescription = splitLine[4], RomName = splitLine[5], RomCRC = splitLine[6], - RomSize = splitLine[7], + RomSize = NumberHelper.ConvertToInt64(splitLine[7]), RomOf = splitLine[8], MergeName = splitLine[9], // EMPTY = splitLine[10] diff --git a/SabreTools.Serialization.Readers/SeparatedValue.cs b/SabreTools.Serialization.Readers/SeparatedValue.cs index a4b27ce8..9a9a0d40 100644 --- a/SabreTools.Serialization.Readers/SeparatedValue.cs +++ b/SabreTools.Serialization.Readers/SeparatedValue.cs @@ -3,6 +3,7 @@ using System.IO; using System.Text; using SabreTools.Data.Extensions; using SabreTools.Data.Models.SeparatedValue; +using SabreTools.Text.Extensions; using SabreTools.Text.SeparatedValue; #pragma warning disable CA1822 // Mark members as static @@ -122,7 +123,7 @@ namespace SabreTools.Serialization.Readers Type = reader.Line[5], RomName = reader.Line[6], DiskName = reader.Line[7], - Size = reader.Line[8], + Size = NumberHelper.ConvertToInt64(reader.Line[8]), CRC = reader.Line[9], MD5 = reader.Line[10], SHA1 = reader.Line[11], @@ -142,7 +143,7 @@ namespace SabreTools.Serialization.Readers Type = reader.Line[5], RomName = reader.Line[6], DiskName = reader.Line[7], - Size = reader.Line[8], + Size = NumberHelper.ConvertToInt64(reader.Line[8]), CRC = reader.Line[9], MD5 = reader.Line[10], SHA1 = reader.Line[11], diff --git a/SabreTools.Serialization.Readers/SoftwareList.cs b/SabreTools.Serialization.Readers/SoftwareList.cs index cf3db223..f79c12bb 100644 --- a/SabreTools.Serialization.Readers/SoftwareList.cs +++ b/SabreTools.Serialization.Readers/SoftwareList.cs @@ -4,6 +4,7 @@ using System.IO; using System.Xml; using SabreTools.Data.Extensions; using SabreTools.Data.Models.SoftwareList; +using SabreTools.Text.Extensions; namespace SabreTools.Serialization.Readers { @@ -125,7 +126,7 @@ namespace SabreTools.Serialization.Readers var obj = new DataArea(); obj.Name = reader.GetAttribute("name"); - obj.Size = reader.GetAttribute("size"); + obj.Size = NumberHelper.ConvertToInt64(reader.GetAttribute("size")); obj.Width = reader.GetAttribute("width"); obj.Endianness = reader.GetAttribute("endianness").AsEndianness(); @@ -413,7 +414,7 @@ namespace SabreTools.Serialization.Readers var obj = new Rom(); obj.Name = reader.GetAttribute("name"); - obj.Size = reader.GetAttribute("size"); + obj.Size = NumberHelper.ConvertToInt64(reader.GetAttribute("size")); obj.Length = reader.GetAttribute("length"); obj.CRC = reader.GetAttribute("crc"); obj.SHA1 = reader.GetAttribute("sha1"); diff --git a/SabreTools.Serialization.Writers/ClrMamePro.cs b/SabreTools.Serialization.Writers/ClrMamePro.cs index cd4f9df1..0a6ee433 100644 --- a/SabreTools.Serialization.Writers/ClrMamePro.cs +++ b/SabreTools.Serialization.Writers/ClrMamePro.cs @@ -261,7 +261,7 @@ namespace SabreTools.Serialization.Writers { writer.WriteStartElement("rom"); writer.WriteRequiredAttributeString("name", rom.Name, throwOnError: true); - writer.WriteRequiredAttributeString("size", rom.Size, throwOnError: true); + writer.WriteRequiredAttributeString("size", rom.Size?.ToString(), throwOnError: true); writer.WriteOptionalAttributeString("crc16", rom.CRC16); writer.WriteOptionalAttributeString("crc", rom.CRC); writer.WriteOptionalAttributeString("crc64", rom.CRC64); diff --git a/SabreTools.Serialization.Writers/DosCenter.cs b/SabreTools.Serialization.Writers/DosCenter.cs index 09b1dae8..000b6601 100644 --- a/SabreTools.Serialization.Writers/DosCenter.cs +++ b/SabreTools.Serialization.Writers/DosCenter.cs @@ -115,7 +115,7 @@ namespace SabreTools.Serialization.Writers writer.WriteStartElement("file"); writer.WriteRequiredAttributeString("name", file.Name, throwOnError: true); - writer.WriteRequiredAttributeString("size", file.Size, throwOnError: true); + writer.WriteRequiredAttributeString("size", file.Size?.ToString(), throwOnError: true); writer.WriteOptionalAttributeString("date", file.Date); writer.WriteRequiredAttributeString("crc", file.CRC?.ToUpperInvariant(), throwOnError: true); writer.WriteRequiredAttributeString("sha1", file.SHA1?.ToUpperInvariant()); diff --git a/SabreTools.Serialization.Writers/EverdriveSMDB.cs b/SabreTools.Serialization.Writers/EverdriveSMDB.cs index c7f56504..87139c88 100644 --- a/SabreTools.Serialization.Writers/EverdriveSMDB.cs +++ b/SabreTools.Serialization.Writers/EverdriveSMDB.cs @@ -55,7 +55,7 @@ namespace SabreTools.Serialization.Writers }; if (row.Size is not null) - rowArray.Add(row.Size); + rowArray.Add(row.Size?.ToString()); writer.WriteValues([.. rowArray]); writer.Flush(); diff --git a/SabreTools.Serialization.Writers/Listrom.cs b/SabreTools.Serialization.Writers/Listrom.cs index 36bad621..f18e6bd4 100644 --- a/SabreTools.Serialization.Writers/Listrom.cs +++ b/SabreTools.Serialization.Writers/Listrom.cs @@ -116,7 +116,7 @@ namespace SabreTools.Serialization.Writers var rowBuilder = new StringBuilder(); - int padding = 40 - (row.Size?.Length ?? 0); + int padding = 40 - (row.Size?.ToString()?.Length ?? 0); if (padding < row.Name!.Length) padding = row.Name.Length + 2; diff --git a/SabreTools.Serialization.Writers/Listxml.cs b/SabreTools.Serialization.Writers/Listxml.cs index edb20f88..d32b5bb2 100644 --- a/SabreTools.Serialization.Writers/Listxml.cs +++ b/SabreTools.Serialization.Writers/Listxml.cs @@ -731,7 +731,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("bios", obj.Bios); - writer.WriteRequiredAttributeString("size", obj.Size); + writer.WriteRequiredAttributeString("size", obj.Size?.ToString()); writer.WriteOptionalAttributeString("crc", obj.CRC); writer.WriteOptionalAttributeString("sha1", obj.SHA1); writer.WriteOptionalAttributeString("merge", obj.Merge); diff --git a/SabreTools.Serialization.Writers/Logiqx.cs b/SabreTools.Serialization.Writers/Logiqx.cs index c02d18a5..7ecfd167 100644 --- a/SabreTools.Serialization.Writers/Logiqx.cs +++ b/SabreTools.Serialization.Writers/Logiqx.cs @@ -489,7 +489,7 @@ namespace SabreTools.Serialization.Writers writer.WriteStartElement("rom"); writer.WriteRequiredAttributeString("name", obj.Name); - writer.WriteRequiredAttributeString("size", obj.Size); + writer.WriteRequiredAttributeString("size", obj.Size?.ToString()); writer.WriteOptionalAttributeString("crc16", obj.CRC16); writer.WriteOptionalAttributeString("crc", obj.CRC); writer.WriteOptionalAttributeString("crc64", obj.CRC64); diff --git a/SabreTools.Serialization.Writers/M1.cs b/SabreTools.Serialization.Writers/M1.cs index 59599972..fe698b6d 100644 --- a/SabreTools.Serialization.Writers/M1.cs +++ b/SabreTools.Serialization.Writers/M1.cs @@ -729,7 +729,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("bios", obj.Bios); - writer.WriteRequiredAttributeString("size", obj.Size); + writer.WriteRequiredAttributeString("size", obj.Size?.ToString()); writer.WriteOptionalAttributeString("crc", obj.CRC); writer.WriteOptionalAttributeString("sha1", obj.SHA1); writer.WriteOptionalAttributeString("merge", obj.Merge); diff --git a/SabreTools.Serialization.Writers/Mess.cs b/SabreTools.Serialization.Writers/Mess.cs index c705d657..19f7d305 100644 --- a/SabreTools.Serialization.Writers/Mess.cs +++ b/SabreTools.Serialization.Writers/Mess.cs @@ -729,7 +729,7 @@ namespace SabreTools.Serialization.Writers writer.WriteRequiredAttributeString("name", obj.Name); writer.WriteOptionalAttributeString("bios", obj.Bios); - writer.WriteRequiredAttributeString("size", obj.Size); + writer.WriteRequiredAttributeString("size", obj.Size?.ToString()); writer.WriteOptionalAttributeString("crc", obj.CRC); writer.WriteOptionalAttributeString("sha1", obj.SHA1); writer.WriteOptionalAttributeString("merge", obj.Merge); diff --git a/SabreTools.Serialization.Writers/OfflineList.cs b/SabreTools.Serialization.Writers/OfflineList.cs index 0ff67661..7d0ed061 100644 --- a/SabreTools.Serialization.Writers/OfflineList.cs +++ b/SabreTools.Serialization.Writers/OfflineList.cs @@ -201,7 +201,7 @@ namespace SabreTools.Serialization.Writers writer.WriteOptionalElementString("releaseNumber", obj.ReleaseNumber); writer.WriteOptionalElementString("title", obj.Title); writer.WriteOptionalElementString("saveType", obj.SaveType); - writer.WriteOptionalElementString("romSize", obj.RomSize); + writer.WriteOptionalElementString("romSize", obj.RomSize?.ToString()); writer.WriteOptionalElementString("publisher", obj.Publisher); writer.WriteOptionalElementString("location", obj.Location); writer.WriteOptionalElementString("sourceRom", obj.SourceRom); diff --git a/SabreTools.Serialization.Writers/SeparatedValue.cs b/SabreTools.Serialization.Writers/SeparatedValue.cs index 2f7a90b2..7ff3ee7d 100644 --- a/SabreTools.Serialization.Writers/SeparatedValue.cs +++ b/SabreTools.Serialization.Writers/SeparatedValue.cs @@ -170,7 +170,7 @@ namespace SabreTools.Serialization.Writers row.Type, row.RomName, row.DiskName, - row.Size, + row.Size?.ToString(), row.CRC, row.MD5, row.SHA1, @@ -193,7 +193,7 @@ namespace SabreTools.Serialization.Writers row.Type, row.RomName, row.DiskName, - row.Size, + row.Size?.ToString(), row.CRC, row.MD5, row.SHA1, diff --git a/SabreTools.Serialization.Writers/SoftwareList.cs b/SabreTools.Serialization.Writers/SoftwareList.cs index 57ef70c0..7c4e3bc4 100644 --- a/SabreTools.Serialization.Writers/SoftwareList.cs +++ b/SabreTools.Serialization.Writers/SoftwareList.cs @@ -104,7 +104,7 @@ namespace SabreTools.Serialization.Writers writer.WriteStartElement("dataarea"); writer.WriteRequiredAttributeString("name", obj.Name); - writer.WriteRequiredAttributeString("size", obj.Size); + writer.WriteRequiredAttributeString("size", obj.Size?.ToString()); writer.WriteOptionalAttributeString("width", obj.Width); writer.WriteOptionalAttributeString("endianness", obj.Endianness?.AsStringValue()); @@ -286,7 +286,7 @@ namespace SabreTools.Serialization.Writers writer.WriteStartElement("rom"); writer.WriteRequiredAttributeString("name", obj.Name); - writer.WriteOptionalAttributeString("size", obj.Size); + writer.WriteOptionalAttributeString("size", obj.Size?.ToString()); writer.WriteOptionalAttributeString("length", obj.Length); writer.WriteOptionalAttributeString("crc", obj.CRC); writer.WriteOptionalAttributeString("sha1", obj.SHA1);