Convert size keys to size properties

This commit is contained in:
Matt Nadareski
2026-04-02 23:45:17 -04:00
parent 11803aa34c
commit 3c6cfef070
115 changed files with 377 additions and 446 deletions

View File

@@ -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);

View File

@@ -13,7 +13,7 @@ namespace SabreTools.Data.Models.ClrMamePro
/// <remarks>size, Numeric</remarks>
[Required]
public string? Size { get; set; }
public long? Size { get; set; }
/// <remarks>crc</remarks>
public string? CRC { get; set; }

View File

@@ -10,7 +10,7 @@ namespace SabreTools.Data.Models.DosCenter
/// <remarks>size, attribute, numeric</remarks>
[Required]
public string? Size { get; set; }
public long? Size { get; set; }
/// <remarks>crc, attribute</remarks>
[Required]

View File

@@ -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; }
}
}

View File

@@ -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; }

View File

@@ -14,10 +14,9 @@ namespace SabreTools.Data.Models.Listxml
[XmlAttribute("bios")]
public string? Bios { get; set; }
/// <remarks>Numeric</remarks>
[Required]
[XmlAttribute("size")]
public string? Size { get; set; }
public long? Size { get; set; }
[XmlAttribute("crc")]
public string? CRC { get; set; }

View File

@@ -14,7 +14,7 @@ namespace SabreTools.Data.Models.Logiqx
[Required]
[XmlAttribute("size")]
public string? Size { get; set; }
public long? Size { get; set; }
/// <remarks>Hash extension</remarks>
[XmlAttribute("crc16")]

View File

@@ -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";
/// <remarks>long</remarks>
public const string SizeKey = "size";
/// <remarks>(8|16|32|64) "8"</remarks>
/// TODO: Convert to enum
public const string WidthKey = "width";

View File

@@ -31,6 +31,8 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>(yes|no) "no"</remarks>
public bool? Optional { get; set; }
public long? Size { get; set; }
/// <remarks>(yes|no) "no"</remarks>
public bool? SoundOnly { get; set; }
@@ -223,9 +225,6 @@ namespace SabreTools.Data.Models.Metadata
/// <remarks>string</remarks>
public const string SHA512Key = "sha512";
/// <remarks>long</remarks>
public const string SizeKey = "size";
/// <remarks>string; ArchiveDotOrg.File</remarks>
public const string SourceKey = "source";

View File

@@ -20,7 +20,7 @@ namespace SabreTools.Data.Models.OfflineList
/// <remarks>Numeric</remarks>
[XmlElement("romSize")]
public string? RomSize { get; set; }
public long? RomSize { get; set; }
[XmlElement("publisher")]
public string? Publisher { get; set; }

View File

@@ -22,7 +22,7 @@ namespace SabreTools.Data.Models.RomCenter
public string? RomCRC { get; set; }
/// <remarks>6</remarks>
public string? RomSize { get; set; }
public long? RomSize { get; set; }
/// <remarks>7</remarks>
public string? RomOf { get; set; }

View File

@@ -35,7 +35,7 @@ namespace SabreTools.Data.Models.SeparatedValue
public string? DiskName { get; set; }
/// <remarks>Size, Numeric</remarks>
public string? Size { get; set; }
public long? Size { get; set; }
/// <remarks>CRC</remarks>
public string? CRC { get; set; }

View File

@@ -13,7 +13,7 @@ namespace SabreTools.Data.Models.SoftwareList
[Required]
[XmlAttribute("size")]
public string? Size { get; set; }
public long? Size { get; set; }
/// <remarks>(8|16|32|64) "8"</remarks>
[XmlAttribute("width")]

View File

@@ -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; }

View File

@@ -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));

View File

@@ -22,23 +22,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -67,23 +64,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -112,23 +106,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -160,23 +151,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -212,23 +200,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -257,23 +242,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
datItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
datItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
DatItem deviceRef = new DeviceRef();
@@ -425,23 +405,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -470,23 +447,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(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<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
DatItem parentItem = new Rom();
DatItem parentItem = new Rom() { Size = 12345 };
parentItem.SetName("parent_rom");
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(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<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
DatItem parentItem = new Rom();
DatItem parentItem = new Rom() { Size = 12345 };
parentItem.SetName("parent_rom");
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -694,23 +662,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;
@@ -743,23 +708,20 @@ namespace SabreTools.Metadata.DatFiles.Test
childMachine.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
parentItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
matchChildItem.Write<string?>(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<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
noMatchChildItem.Machine = childMachine;
noMatchChildItem.Source = source;

View File

@@ -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.Rom>(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));

View File

@@ -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");

View File

@@ -300,7 +300,7 @@ namespace SabreTools.Metadata.DatFiles.Test
var rom = new Rom();
rom.Status = ItemStatus.Good;
rom.Write<long>(Data.Models.Metadata.Rom.SizeKey, 1);
rom.Size = 1;
rom.Write<string?>(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString);
rom.Write<string?>(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString);
rom.Write<string?>(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString);

View File

@@ -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),
]));
}

View File

@@ -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<long?>(Data.Models.Metadata.Rom.SizeKey, 12345);
rom.Write<string?>(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<long?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "1024");
DatItem rom2 = new Rom();
DatItem rom2 = new Rom() { Size = 1024 };
rom2.SetName("rom-2");
rom2.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
rom2.RemoveFlag = true;
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
datItem.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
datItem.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
datItem.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
datItem.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "1024");
DatItem rom2 = new Rom();
DatItem rom2 = new Rom() { Size = 1024 };
rom2.SetName("rom-2");
rom2.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "1024");
DatItem rom3 = new Rom();
DatItem rom3 = new Rom() { Size = 1024 };
rom3.SetName("rom-3");
rom3.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
rom3.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26");
rom3.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "1024");
DatItem rom4 = new Rom();
DatItem rom4 = new Rom() { Size = 1024 };
rom4.SetName("rom-4");
rom4.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
rom4.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487");
rom4.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "1024");
DatItem rom2 = new Rom();
DatItem rom2 = new Rom() { Size = 1024 };
rom2.SetName("rom-2");
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "1024");
DatItem rom2 = new Rom();
DatItem rom2 = new Rom() { Size = 1024 };
rom2.SetName("rom-2");
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom.Write<string?>(Data.Models.Metadata.Rom.SizeKey, hasDuplicate ? "1024" : "2048");
var actual = dict.GetDuplicates(new KeyValuePair<long, DatItem>(-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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "1024");
DatItem rom2 = new Rom();
DatItem rom2 = new Rom() { Size = 1024 };
rom2.SetName("rom-2");
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom.Write<string?>(Data.Models.Metadata.Rom.SizeKey, expected ? "1024" : "2048");
bool actual = dict.HasDuplicates(new KeyValuePair<long, DatItem>(-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<long?>(Data.Models.Metadata.Rom.SizeKey, 12345);
item.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
var dict = new ItemDictionaryDB();

View File

@@ -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<long?>(Data.Models.Metadata.Rom.SizeKey, 12345);
rom.Write<string?>(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<long?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
rom2.RemoveFlag = true;
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
datItem.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
datItem.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
datItem.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
datItem.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
rom3.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26");
rom3.Write<string?>(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<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
rom4.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487");
rom4.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom1.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
rom2.Write<string?>(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<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
rom.Write<string?>(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<long?>(Data.Models.Metadata.Rom.SizeKey, 12345);
item.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
item.Source = source;
item.Machine = machine;

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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<string?>(Data.Models.Metadata.Rom.SizeKey, "0");
rom.Size = 0;
rom.Write<string?>(Data.Models.Metadata.Rom.CRC16Key,
rom.ReadString(Data.Models.Metadata.Rom.CRC16Key) == "null" ? HashType.CRC16.ZeroString : null);
rom.Write<string?>(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);

View File

@@ -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);

View File

@@ -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))

View File

@@ -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)))

View File

@@ -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)))

View File

@@ -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)))
{

View File

@@ -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))

View File

@@ -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;

View File

@@ -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:

View File

@@ -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))

View File

@@ -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<DataArea?>(Rom.DataAreaKey)!.Name))
missingFields.Add(nameof(Data.Models.Metadata.DataArea.Name));
if (rom.Read<DataArea?>(Rom.DataAreaKey)!.ReadLong(Data.Models.Metadata.DataArea.SizeKey) is null)
missingFields.Add(Data.Models.Metadata.DataArea.SizeKey);
if (rom.Read<DataArea?>(Rom.DataAreaKey)!.Size is null)
missingFields.Add(nameof(Data.Models.Metadata.DataArea.Size));
}
break;

View File

@@ -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<string?>(Data.Models.Metadata.Rom.SizeKey, "0");
rom.Size = 0;
rom.Write<string?>(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString
rom.Write<string?>(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString);
rom.Write<string?>(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString

View File

@@ -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<string?>(Data.Models.Metadata.Rom.SizeKey, "0");
rom.Size = 0;
rom.Write<string?>(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString
rom.Write<string?>(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString);
rom.Write<string?>(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString

View File

@@ -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));

View File

@@ -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<string?>(Data.Models.Metadata.DataArea.SizeKey, size.ToString());
long? width = ReadLong(Data.Models.Metadata.DataArea.WidthKey);
if (width is not null)
Write<string?>(Data.Models.Metadata.DataArea.WidthKey, width.ToString());

View File

@@ -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<string?>(Data.Models.Metadata.Rom.CRCKey, CRC);
rom.Write<string?>(Data.Models.Metadata.Rom.MD5Key, MD5);
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, SHA1);

View File

@@ -36,7 +36,7 @@ namespace SabreTools.Metadata.DatItems.Formats
var dataArea = Read<DataArea?>(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<string?>(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<string?>(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)

View File

@@ -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;

View File

@@ -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

View File

@@ -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",

View File

@@ -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

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}
}
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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),

View File

@@ -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,

View File

@@ -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),

View File

@@ -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,

View File

@@ -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),

View File

@@ -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,

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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),
};

View File

@@ -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,
};

View File

@@ -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),

View File

@@ -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,

View File

@@ -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),

View File

@@ -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,

View File

@@ -99,8 +99,8 @@ namespace SabreTools.Serialization.CrossModel
var roms = item.Read<Data.Models.Metadata.Rom[]>(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 };

View File

@@ -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;
});
}

View File

@@ -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),
};

View File

@@ -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;

View File

@@ -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),

View File

@@ -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,

View File

@@ -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),

View File

@@ -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,

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}
}
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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
/// </summary>
/// <param name="reader">ClrMameProReader representing the metadata file</param>
/// <returns>File object created from the reader context</returns>
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;
}
}

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");

View File

@@ -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");

Some files were not shown because too many files have changed in this diff Show More