mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
String Machine keys to properties
This commit is contained in:
@@ -307,12 +307,54 @@ namespace SabreTools.Data.Extensions
|
||||
}
|
||||
else if (self is Machine selfMachine && clone is Machine cloneMachine)
|
||||
{
|
||||
cloneMachine.Board = selfMachine.Board;
|
||||
cloneMachine.Buttons = selfMachine.Buttons;
|
||||
cloneMachine.CloneOf = selfMachine.CloneOf;
|
||||
cloneMachine.CloneOfId = selfMachine.CloneOfId;
|
||||
cloneMachine.Company = selfMachine.Company;
|
||||
cloneMachine.Control = selfMachine.Control;
|
||||
cloneMachine.Country = selfMachine.Country;
|
||||
cloneMachine.Description = selfMachine.Description;
|
||||
cloneMachine.DirName = selfMachine.DirName;
|
||||
cloneMachine.DisplayCount = selfMachine.DisplayCount;
|
||||
cloneMachine.DisplayType = selfMachine.DisplayType;
|
||||
cloneMachine.DuplicateID = selfMachine.DuplicateID;
|
||||
cloneMachine.Emulator = selfMachine.Emulator;
|
||||
cloneMachine.Extra = selfMachine.Extra;
|
||||
cloneMachine.Favorite = selfMachine.Favorite;
|
||||
cloneMachine.GenMSXID = selfMachine.GenMSXID;
|
||||
cloneMachine.Hash = selfMachine.Hash;
|
||||
cloneMachine.History = selfMachine.History;
|
||||
cloneMachine.Id = selfMachine.Id;
|
||||
cloneMachine.Im1CRC = selfMachine.Im1CRC;
|
||||
cloneMachine.Im2CRC = selfMachine.Im2CRC;
|
||||
cloneMachine.ImageNumber = selfMachine.ImageNumber;
|
||||
cloneMachine.IsBios = selfMachine.IsBios;
|
||||
cloneMachine.IsDevice = selfMachine.IsDevice;
|
||||
cloneMachine.IsMechanical = selfMachine.IsMechanical;
|
||||
cloneMachine.Language = selfMachine.Language;
|
||||
cloneMachine.Location = selfMachine.Location;
|
||||
cloneMachine.Manufacturer = selfMachine.Manufacturer;
|
||||
cloneMachine.Notes = selfMachine.Notes;
|
||||
cloneMachine.PlayedCount = selfMachine.PlayedCount;
|
||||
cloneMachine.PlayedTime = selfMachine.PlayedTime;
|
||||
cloneMachine.Players = selfMachine.Players;
|
||||
cloneMachine.Publisher = selfMachine.Publisher;
|
||||
cloneMachine.RebuildTo = selfMachine.RebuildTo;
|
||||
cloneMachine.ReleaseNumber = selfMachine.ReleaseNumber;
|
||||
cloneMachine.RomOf = selfMachine.RomOf;
|
||||
cloneMachine.Rotation = selfMachine.Rotation;
|
||||
cloneMachine.Runnable = selfMachine.Runnable;
|
||||
cloneMachine.SampleOf = selfMachine.SampleOf;
|
||||
cloneMachine.SaveType = selfMachine.SaveType;
|
||||
cloneMachine.SourceFile = selfMachine.SourceFile;
|
||||
cloneMachine.SourceRom = selfMachine.SourceRom;
|
||||
cloneMachine.Status = selfMachine.Status;
|
||||
cloneMachine.Supported = selfMachine.Supported;
|
||||
cloneMachine.System = selfMachine.System;
|
||||
cloneMachine.Tags = selfMachine.Tags;
|
||||
cloneMachine.Url = selfMachine.Url;
|
||||
cloneMachine.Year = selfMachine.Year;
|
||||
}
|
||||
else if (self is Media selfMedia && clone is Media cloneMedia)
|
||||
{
|
||||
|
||||
@@ -8,8 +8,50 @@ namespace SabreTools.Data.Models.Metadata
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public string? Board { get; set; }
|
||||
|
||||
public string? Buttons { get; set; }
|
||||
|
||||
public string? CloneOf { get; set; }
|
||||
|
||||
public string? CloneOfId { get; set; }
|
||||
|
||||
public string? Company { get; set; }
|
||||
|
||||
public string? Control { get; set; }
|
||||
|
||||
public string? Country { get; set; }
|
||||
|
||||
public string? Description { get; set; }
|
||||
|
||||
public string? DirName { get; set; }
|
||||
|
||||
public string? DisplayCount { get; set; }
|
||||
|
||||
public string? DisplayType { get; set; }
|
||||
|
||||
public string? DuplicateID { get; set; }
|
||||
|
||||
public string? Emulator { get; set; }
|
||||
|
||||
public string? Extra { get; set; }
|
||||
|
||||
public string? Favorite { get; set; }
|
||||
|
||||
public string? GenMSXID { get; set; }
|
||||
|
||||
public string? Hash { get; set; }
|
||||
|
||||
public string? History { get; set; }
|
||||
|
||||
public string? Id { get; set; }
|
||||
|
||||
public string? Im1CRC { get; set; }
|
||||
|
||||
public string? Im2CRC { get; set; }
|
||||
|
||||
public string? ImageNumber { get; set; }
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? IsBios { get; set; }
|
||||
|
||||
@@ -19,14 +61,56 @@ namespace SabreTools.Data.Models.Metadata
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? IsMechanical { get; set; }
|
||||
|
||||
public string? Language { get; set; }
|
||||
|
||||
public string? Location { get; set; }
|
||||
|
||||
public string? Manufacturer { get; set; }
|
||||
|
||||
public string? Name { get; set; }
|
||||
|
||||
public string? Notes { get; set; }
|
||||
|
||||
public string? PlayedCount { get; set; }
|
||||
|
||||
public string? PlayedTime { get; set; }
|
||||
|
||||
public string? Players { get; set; }
|
||||
|
||||
public string? Publisher { get; set; }
|
||||
|
||||
public string? RebuildTo { get; set; }
|
||||
|
||||
public string? ReleaseNumber { get; set; }
|
||||
|
||||
public string? RomOf { get; set; }
|
||||
|
||||
public string? Rotation { get; set; }
|
||||
|
||||
/// <remarks>(yes|partial|no) "no"</remarks>
|
||||
public Runnable? Runnable { get; set; }
|
||||
|
||||
public string? SampleOf { get; set; }
|
||||
|
||||
public string? SaveType { get; set; }
|
||||
|
||||
public string? SourceFile { get; set; }
|
||||
|
||||
public string? SourceRom { get; set; }
|
||||
|
||||
public string? Status { get; set; }
|
||||
|
||||
/// <remarks>(yes|partial|no) "yes"</remarks>
|
||||
public Supported? Supported { get; set; }
|
||||
|
||||
public string? System { get; set; }
|
||||
|
||||
public string? Tags { get; set; }
|
||||
|
||||
public string? Url { get; set; }
|
||||
|
||||
public string? Year { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Keys
|
||||
@@ -43,12 +127,6 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string BiosSetKey = "biosset";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string BoardKey = "board";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ButtonsKey = "buttons";
|
||||
|
||||
/// <remarks>string, string[]</remarks>
|
||||
public const string CategoryKey = "category";
|
||||
|
||||
@@ -56,28 +134,13 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string ChipKey = "chip";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string CloneOfKey = "cloneof";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string CloneOfIdKey = "cloneofid";
|
||||
|
||||
/// <remarks>string, string[]</remarks>
|
||||
public const string CommentKey = "comment";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string CompanyKey = "company";
|
||||
|
||||
/// <remarks>Configuration[]</remarks>
|
||||
[NoFilter]
|
||||
public const string ConfigurationKey = "configuration";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ControlKey = "control";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string CountryKey = "country";
|
||||
|
||||
/// <remarks>Device[]</remarks>
|
||||
[NoFilter]
|
||||
public const string DeviceKey = "device";
|
||||
@@ -90,23 +153,14 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string DipSwitchKey = "dipswitch";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DirNameKey = "dirName";
|
||||
|
||||
/// <remarks>Disk[]</remarks>
|
||||
[NoFilter]
|
||||
public const string DiskKey = "disk";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DisplayCountKey = "displaycount";
|
||||
|
||||
/// <remarks>Display[]</remarks>
|
||||
[NoFilter]
|
||||
public const string DisplayKey = "display";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DisplayTypeKey = "displaytype";
|
||||
|
||||
/// <remarks>Driver</remarks>
|
||||
[NoFilter]
|
||||
public const string DriverKey = "driver";
|
||||
@@ -115,43 +169,10 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string DumpKey = "dump";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DuplicateIDKey = "duplicateID";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string EmulatorKey = "emulator";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ExtraKey = "extra";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string FavoriteKey = "favorite";
|
||||
|
||||
/// <remarks>Feature[]</remarks>
|
||||
[NoFilter]
|
||||
public const string FeatureKey = "feature";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string GenMSXIDKey = "genmsxid";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string HashKey = "hash";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string HistoryKey = "history";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string IdKey = "id";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string Im1CRCKey = "im1CRC";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string Im2CRCKey = "im2CRC";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ImageNumberKey = "imageNumber";
|
||||
|
||||
/// <remarks>Info[]</remarks>
|
||||
[NoFilter]
|
||||
public const string InfoKey = "info";
|
||||
@@ -160,76 +181,34 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string InputKey = "input";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string LanguageKey = "language";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string LocationKey = "location";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ManufacturerKey = "manufacturer";
|
||||
|
||||
/// <remarks>Media[]</remarks>
|
||||
[NoFilter]
|
||||
public const string MediaKey = "media";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string NotesKey = "notes";
|
||||
|
||||
/// <remarks>Part[]</remarks>
|
||||
[NoFilter]
|
||||
public const string PartKey = "part";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string PlayedCountKey = "playedcount";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string PlayedTimeKey = "playedtime";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string PlayersKey = "players";
|
||||
|
||||
/// <remarks>Port[]</remarks>
|
||||
[NoFilter]
|
||||
public const string PortKey = "port";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string PublisherKey = "publisher";
|
||||
|
||||
/// <remarks>RamOption[]</remarks>
|
||||
[NoFilter]
|
||||
public const string RamOptionKey = "ramoption";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RebuildToKey = "rebuildto";
|
||||
|
||||
/// <remarks>Release[]</remarks>
|
||||
[NoFilter]
|
||||
public const string ReleaseKey = "release";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ReleaseNumberKey = "releaseNumber";
|
||||
|
||||
/// <remarks>Rom[]</remarks>
|
||||
[NoFilter]
|
||||
public const string RomKey = "rom";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RomOfKey = "romof";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RotationKey = "rotation";
|
||||
|
||||
/// <remarks>Sample[]</remarks>
|
||||
[NoFilter]
|
||||
public const string SampleKey = "sample";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SampleOfKey = "sampleof";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SaveTypeKey = "saveType";
|
||||
|
||||
/// <remarks>SharedFeat[]</remarks>
|
||||
[NoFilter]
|
||||
public const string SharedFeatKey = "sharedfeat";
|
||||
@@ -246,36 +225,15 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string SoundKey = "sound";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SourceFileKey = "sourcefile";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SourceRomKey = "sourceRom";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string StatusKey = "status";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SystemKey = "system";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string TagsKey = "tags";
|
||||
|
||||
/// TODO: This needs an internal model OR mapping to fields
|
||||
/// <remarks>Trurip</remarks>
|
||||
[NoFilter]
|
||||
public const string TruripKey = "trurip";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string UrlKey = "url";
|
||||
|
||||
/// <remarks>Video[]</remarks>
|
||||
[NoFilter]
|
||||
public const string VideoKey = "video";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string YearKey = "year";
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,8 +19,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.SetName("rom.bin");
|
||||
@@ -47,8 +49,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.SetName("rom.bin");
|
||||
@@ -78,13 +82,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Description = "description";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
Description = "description"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Machine = machine;
|
||||
datItem.Source = source;
|
||||
DatItem datItem = new Rom
|
||||
{
|
||||
Machine = machine,
|
||||
Source = source
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.AddItem(datItem, statsOnly: false);
|
||||
@@ -102,9 +110,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void MachineDescriptionToName_ItemsDB()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Description = "description";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
Description = "description"
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
_ = datFile.AddMachineDB(machine);
|
||||
@@ -125,13 +135,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("rom.bin");
|
||||
rom.Machine = machine;
|
||||
rom.Source = source;
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "rom.bin",
|
||||
Machine = machine,
|
||||
Source = source
|
||||
};
|
||||
|
||||
DatItem disk = new Disk();
|
||||
disk.SetName("disk");
|
||||
@@ -164,11 +178,15 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("rom.bin");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "rom.bin"
|
||||
};
|
||||
|
||||
DatItem disk = new Disk();
|
||||
disk.SetName("disk");
|
||||
@@ -203,12 +221,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void SetOneGamePerRegion_Items()
|
||||
{
|
||||
Machine nowhereMachine = new Machine();
|
||||
nowhereMachine.Name = "machine (Nowhere)";
|
||||
Machine nowhereMachine = new Machine
|
||||
{
|
||||
Name = "machine (Nowhere)"
|
||||
};
|
||||
|
||||
Machine worldMachine = new Machine();
|
||||
worldMachine.Name = "machine (World)";
|
||||
worldMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "machine (Nowhere)");
|
||||
Machine worldMachine = new Machine
|
||||
{
|
||||
Name = "machine (World)",
|
||||
CloneOf = "machine (Nowhere)"
|
||||
};
|
||||
|
||||
DatItem nowhereRom = new Rom();
|
||||
nowhereRom.SetName("rom.bin");
|
||||
@@ -237,12 +259,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void SetOneGamePerRegion_ItemsDB()
|
||||
{
|
||||
Machine nowhereMachine = new Machine();
|
||||
nowhereMachine.Name = "machine (Nowhere)";
|
||||
Machine nowhereMachine = new Machine
|
||||
{
|
||||
Name = "machine (Nowhere)"
|
||||
};
|
||||
|
||||
Machine worldMachine = new Machine();
|
||||
worldMachine.Name = "machine (World)";
|
||||
worldMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "machine (Nowhere)");
|
||||
Machine worldMachine = new Machine
|
||||
{
|
||||
Name = "machine (World)",
|
||||
CloneOf = "machine (Nowhere)"
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
_ = datFile.AddMachineDB(nowhereMachine);
|
||||
@@ -265,12 +291,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "10.10.10-machine-name";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "10.10.10-machine-name"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Machine = machine;
|
||||
datItem.Source = source;
|
||||
DatItem datItem = new Rom
|
||||
{
|
||||
Machine = machine,
|
||||
Source = source
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.AddItem(datItem, statsOnly: false);
|
||||
@@ -287,8 +317,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void StripSceneDatesFromItems_ItemsDB()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "10.10.10-machine-name";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "10.10.10-machine-name"
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
_ = datFile.AddMachineDB(machine);
|
||||
|
||||
@@ -255,80 +255,80 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Data.Models.Metadata.Machine.AdjusterKey] = new Data.Models.Metadata.Adjuster[] { CreateMetadataAdjuster() },
|
||||
[Data.Models.Metadata.Machine.ArchiveKey] = new Data.Models.Metadata.Archive[] { CreateMetadataArchive() },
|
||||
[Data.Models.Metadata.Machine.BiosSetKey] = new Data.Models.Metadata.BiosSet[] { CreateMetadataBiosSet() },
|
||||
[Data.Models.Metadata.Machine.BoardKey] = "board",
|
||||
[Data.Models.Metadata.Machine.ButtonsKey] = "buttons",
|
||||
Board = "board",
|
||||
Buttons = "buttons",
|
||||
[Data.Models.Metadata.Machine.CategoryKey] = "category",
|
||||
[Data.Models.Metadata.Machine.ChipKey] = new Data.Models.Metadata.Chip[] { CreateMetadataChip() },
|
||||
[Data.Models.Metadata.Machine.CloneOfKey] = "cloneof",
|
||||
[Data.Models.Metadata.Machine.CloneOfIdKey] = "cloneofid",
|
||||
CloneOf = "cloneof",
|
||||
CloneOfId = "cloneofid",
|
||||
[Data.Models.Metadata.Machine.CommentKey] = "comment",
|
||||
[Data.Models.Metadata.Machine.CompanyKey] = "company",
|
||||
Company = "company",
|
||||
[Data.Models.Metadata.Machine.ConfigurationKey] = new Data.Models.Metadata.Configuration[] { CreateMetadataConfiguration() },
|
||||
[Data.Models.Metadata.Machine.ControlKey] = "control",
|
||||
[Data.Models.Metadata.Machine.CountryKey] = "country",
|
||||
Control = "control",
|
||||
Country = "country",
|
||||
Description = "description",
|
||||
[Data.Models.Metadata.Machine.DeviceKey] = new Data.Models.Metadata.Device[] { CreateMetadataDevice() },
|
||||
[Data.Models.Metadata.Machine.DeviceRefKey] = new Data.Models.Metadata.DeviceRef[] { CreateMetadataDeviceRef() },
|
||||
[Data.Models.Metadata.Machine.DipSwitchKey] = new Data.Models.Metadata.DipSwitch[] { CreateMetadataDipSwitch() },
|
||||
[Data.Models.Metadata.Machine.DirNameKey] = "dirname",
|
||||
DirName = "dirname",
|
||||
[Data.Models.Metadata.Machine.DiskKey] = new Data.Models.Metadata.Disk[] { CreateMetadataDisk() },
|
||||
[Data.Models.Metadata.Machine.DisplayCountKey] = "displaycount",
|
||||
DisplayCount = "displaycount",
|
||||
[Data.Models.Metadata.Machine.DisplayKey] = new Data.Models.Metadata.Display[] { CreateMetadataDisplay() },
|
||||
[Data.Models.Metadata.Machine.DisplayTypeKey] = "displaytype",
|
||||
DisplayType = "displaytype",
|
||||
[Data.Models.Metadata.Machine.DriverKey] = CreateMetadataDriver(),
|
||||
[Data.Models.Metadata.Machine.DumpKey] = new Data.Models.Metadata.Dump[] { CreateMetadataDump() },
|
||||
[Data.Models.Metadata.Machine.DuplicateIDKey] = "duplicateid",
|
||||
[Data.Models.Metadata.Machine.EmulatorKey] = "emulator",
|
||||
[Data.Models.Metadata.Machine.ExtraKey] = "extra",
|
||||
[Data.Models.Metadata.Machine.FavoriteKey] = "favorite",
|
||||
DuplicateID = "duplicateid",
|
||||
Emulator = "emulator",
|
||||
Extra = "extra",
|
||||
Favorite = "favorite",
|
||||
[Data.Models.Metadata.Machine.FeatureKey] = new Data.Models.Metadata.Feature[] { CreateMetadataFeature() },
|
||||
[Data.Models.Metadata.Machine.GenMSXIDKey] = "genmsxid",
|
||||
[Data.Models.Metadata.Machine.HistoryKey] = "history",
|
||||
[Data.Models.Metadata.Machine.IdKey] = "id",
|
||||
[Data.Models.Metadata.Machine.Im1CRCKey] = HashType.CRC32.ZeroString,
|
||||
[Data.Models.Metadata.Machine.Im2CRCKey] = HashType.CRC32.ZeroString,
|
||||
[Data.Models.Metadata.Machine.ImageNumberKey] = "imagenumber",
|
||||
GenMSXID = "genmsxid",
|
||||
History = "history",
|
||||
Id = "id",
|
||||
Im1CRC = HashType.CRC32.ZeroString,
|
||||
Im2CRC = HashType.CRC32.ZeroString,
|
||||
ImageNumber = "imagenumber",
|
||||
[Data.Models.Metadata.Machine.InfoKey] = new Data.Models.Metadata.Info[] { CreateMetadataInfo() },
|
||||
[Data.Models.Metadata.Machine.InputKey] = CreateMetadataInput(),
|
||||
IsBios = true,
|
||||
IsDevice = true,
|
||||
IsMechanical = true,
|
||||
[Data.Models.Metadata.Machine.LanguageKey] = "language",
|
||||
[Data.Models.Metadata.Machine.LocationKey] = "location",
|
||||
[Data.Models.Metadata.Machine.ManufacturerKey] = "manufacturer",
|
||||
Language = "language",
|
||||
Location = "location",
|
||||
Manufacturer = "manufacturer",
|
||||
[Data.Models.Metadata.Machine.MediaKey] = new Data.Models.Metadata.Media[] { CreateMetadataMedia() },
|
||||
Name = "name",
|
||||
[Data.Models.Metadata.Machine.NotesKey] = "notes",
|
||||
Notes = "notes",
|
||||
[Data.Models.Metadata.Machine.PartKey] = new Data.Models.Metadata.Part[] { CreateMetadataPart() },
|
||||
[Data.Models.Metadata.Machine.PlayedCountKey] = "playedcount",
|
||||
[Data.Models.Metadata.Machine.PlayedTimeKey] = "playedtime",
|
||||
[Data.Models.Metadata.Machine.PlayersKey] = "players",
|
||||
PlayedCount = "playedcount",
|
||||
PlayedTime = "playedtime",
|
||||
Players = "players",
|
||||
[Data.Models.Metadata.Machine.PortKey] = new Data.Models.Metadata.Port[] { CreateMetadataPort() },
|
||||
[Data.Models.Metadata.Machine.PublisherKey] = "publisher",
|
||||
Publisher = "publisher",
|
||||
[Data.Models.Metadata.Machine.RamOptionKey] = new Data.Models.Metadata.RamOption[] { CreateMetadataRamOption() },
|
||||
[Data.Models.Metadata.Machine.RebuildToKey] = "rebuildto",
|
||||
RebuildTo = "rebuildto",
|
||||
[Data.Models.Metadata.Machine.ReleaseKey] = new Data.Models.Metadata.Release[] { CreateMetadataRelease() },
|
||||
[Data.Models.Metadata.Machine.ReleaseNumberKey] = "releasenumber",
|
||||
ReleaseNumber = "releasenumber",
|
||||
[Data.Models.Metadata.Machine.RomKey] = new Data.Models.Metadata.Rom[] { CreateMetadataRom() },
|
||||
[Data.Models.Metadata.Machine.RomOfKey] = "romof",
|
||||
[Data.Models.Metadata.Machine.RotationKey] = "rotation",
|
||||
RomOf = "romof",
|
||||
Rotation = "rotation",
|
||||
Runnable = Data.Models.Metadata.Runnable.Yes,
|
||||
[Data.Models.Metadata.Machine.SampleKey] = new Data.Models.Metadata.Sample[] { CreateMetadataSample() },
|
||||
[Data.Models.Metadata.Machine.SampleOfKey] = "sampleof",
|
||||
[Data.Models.Metadata.Machine.SaveTypeKey] = "savetype",
|
||||
SampleOf = "sampleof",
|
||||
SaveType = "savetype",
|
||||
[Data.Models.Metadata.Machine.SharedFeatKey] = new Data.Models.Metadata.SharedFeat[] { CreateMetadataSharedFeat() },
|
||||
[Data.Models.Metadata.Machine.SlotKey] = new Data.Models.Metadata.Slot[] { CreateMetadataSlot() },
|
||||
[Data.Models.Metadata.Machine.SoftwareListKey] = new Data.Models.Metadata.SoftwareList[] { CreateMetadataSoftwareList() },
|
||||
[Data.Models.Metadata.Machine.SoundKey] = CreateMetadataSound(),
|
||||
[Data.Models.Metadata.Machine.SourceFileKey] = "sourcefile",
|
||||
[Data.Models.Metadata.Machine.SourceRomKey] = "sourcerom",
|
||||
[Data.Models.Metadata.Machine.StatusKey] = "status",
|
||||
SourceFile = "sourcefile",
|
||||
SourceRom = "sourcerom",
|
||||
Status = "status",
|
||||
Supported = Data.Models.Metadata.Supported.Yes,
|
||||
[Data.Models.Metadata.Machine.SystemKey] = "system",
|
||||
[Data.Models.Metadata.Machine.TagsKey] = "tags",
|
||||
System = "system",
|
||||
Tags = "tags",
|
||||
[Data.Models.Metadata.Machine.TruripKey] = CreateMetadataTrurip(),
|
||||
[Data.Models.Metadata.Machine.VideoKey] = new Data.Models.Metadata.Video[] { CreateMetadataVideo() },
|
||||
[Data.Models.Metadata.Machine.YearKey] = "year",
|
||||
Year = "year",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1068,55 +1068,55 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
#pragma warning disable IDE0051
|
||||
private static void ValidateMachine(DatItems.Machine machine)
|
||||
{
|
||||
Assert.Equal("board", machine.ReadString(Data.Models.Metadata.Machine.BoardKey));
|
||||
Assert.Equal("buttons", machine.ReadString(Data.Models.Metadata.Machine.ButtonsKey));
|
||||
Assert.Equal("board", machine.Board);
|
||||
Assert.Equal("buttons", machine.Buttons);
|
||||
Assert.Equal("category", machine.ReadString(Data.Models.Metadata.Machine.CategoryKey));
|
||||
Assert.Equal("cloneof", machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey));
|
||||
Assert.Equal("cloneofid", machine.ReadString(Data.Models.Metadata.Machine.CloneOfIdKey));
|
||||
Assert.Equal("cloneof", machine.CloneOf);
|
||||
Assert.Equal("cloneofid", machine.CloneOfId);
|
||||
Assert.Equal("comment", machine.ReadString(Data.Models.Metadata.Machine.CommentKey));
|
||||
Assert.Equal("company", machine.ReadString(Data.Models.Metadata.Machine.CompanyKey));
|
||||
Assert.Equal("control", machine.ReadString(Data.Models.Metadata.Machine.ControlKey));
|
||||
Assert.Equal("country", machine.ReadString(Data.Models.Metadata.Machine.CountryKey));
|
||||
Assert.Equal("company", machine.Company);
|
||||
Assert.Equal("control", machine.Control);
|
||||
Assert.Equal("country", machine.Country);
|
||||
Assert.Equal("description", machine.Description);
|
||||
Assert.Equal("dirname", machine.ReadString(Data.Models.Metadata.Machine.DirNameKey));
|
||||
Assert.Equal("displaycount", machine.ReadString(Data.Models.Metadata.Machine.DisplayCountKey));
|
||||
Assert.Equal("displaytype", machine.ReadString(Data.Models.Metadata.Machine.DisplayTypeKey));
|
||||
Assert.Equal("duplicateid", machine.ReadString(Data.Models.Metadata.Machine.DuplicateIDKey));
|
||||
Assert.Equal("emulator", machine.ReadString(Data.Models.Metadata.Machine.EmulatorKey));
|
||||
Assert.Equal("extra", machine.ReadString(Data.Models.Metadata.Machine.ExtraKey));
|
||||
Assert.Equal("favorite", machine.ReadString(Data.Models.Metadata.Machine.FavoriteKey));
|
||||
Assert.Equal("genmsxid", machine.ReadString(Data.Models.Metadata.Machine.GenMSXIDKey));
|
||||
Assert.Equal("history", machine.ReadString(Data.Models.Metadata.Machine.HistoryKey));
|
||||
Assert.Equal("id", machine.ReadString(Data.Models.Metadata.Machine.IdKey));
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im1CRCKey));
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im2CRCKey));
|
||||
Assert.Equal("imagenumber", machine.ReadString(Data.Models.Metadata.Machine.ImageNumberKey));
|
||||
Assert.Equal("dirname", machine.DirName);
|
||||
Assert.Equal("displaycount", machine.DisplayCount);
|
||||
Assert.Equal("displaytype", machine.DisplayType);
|
||||
Assert.Equal("duplicateid", machine.DuplicateID);
|
||||
Assert.Equal("emulator", machine.Emulator);
|
||||
Assert.Equal("extra", machine.Extra);
|
||||
Assert.Equal("favorite", machine.Favorite);
|
||||
Assert.Equal("genmsxid", machine.GenMSXID);
|
||||
Assert.Equal("history", machine.History);
|
||||
Assert.Equal("id", machine.Id);
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.Im1CRC);
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.Im2CRC);
|
||||
Assert.Equal("imagenumber", machine.ImageNumber);
|
||||
Assert.Equal(true, machine.IsBios);
|
||||
Assert.Equal(true, machine.IsDevice);
|
||||
Assert.Equal(true, machine.IsMechanical);
|
||||
Assert.Equal("language", machine.ReadString(Data.Models.Metadata.Machine.LanguageKey));
|
||||
Assert.Equal("location", machine.ReadString(Data.Models.Metadata.Machine.LocationKey));
|
||||
Assert.Equal("manufacturer", machine.ReadString(Data.Models.Metadata.Machine.ManufacturerKey));
|
||||
Assert.Equal("language", machine.Language);
|
||||
Assert.Equal("location", machine.Location);
|
||||
Assert.Equal("manufacturer", machine.Manufacturer);
|
||||
Assert.Equal("name", machine.Name);
|
||||
Assert.Equal("notes", machine.ReadString(Data.Models.Metadata.Machine.NotesKey));
|
||||
Assert.Equal("playedcount", machine.ReadString(Data.Models.Metadata.Machine.PlayedCountKey));
|
||||
Assert.Equal("playedtime", machine.ReadString(Data.Models.Metadata.Machine.PlayedTimeKey));
|
||||
Assert.Equal("players", machine.ReadString(Data.Models.Metadata.Machine.PlayersKey));
|
||||
Assert.Equal("publisher", machine.ReadString(Data.Models.Metadata.Machine.PublisherKey));
|
||||
Assert.Equal("rebuildto", machine.ReadString(Data.Models.Metadata.Machine.RebuildToKey));
|
||||
Assert.Equal("releasenumber", machine.ReadString(Data.Models.Metadata.Machine.ReleaseNumberKey));
|
||||
Assert.Equal("romof", machine.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
Assert.Equal("rotation", machine.ReadString(Data.Models.Metadata.Machine.RotationKey));
|
||||
Assert.Equal("notes", machine.Notes);
|
||||
Assert.Equal("playedcount", machine.PlayedCount);
|
||||
Assert.Equal("playedtime", machine.PlayedTime);
|
||||
Assert.Equal("players", machine.Players);
|
||||
Assert.Equal("publisher", machine.Publisher);
|
||||
Assert.Equal("rebuildto", machine.RebuildTo);
|
||||
Assert.Equal("releasenumber", machine.ReleaseNumber);
|
||||
Assert.Equal("romof", machine.RomOf);
|
||||
Assert.Equal("rotation", machine.Rotation);
|
||||
Assert.Equal(Data.Models.Metadata.Runnable.Yes, machine.Runnable);
|
||||
Assert.Equal("sampleof", machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey));
|
||||
Assert.Equal("savetype", machine.ReadString(Data.Models.Metadata.Machine.SaveTypeKey));
|
||||
Assert.Equal("sourcefile", machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey));
|
||||
Assert.Equal("sourcerom", machine.ReadString(Data.Models.Metadata.Machine.SourceRomKey));
|
||||
Assert.Equal("status", machine.ReadString(Data.Models.Metadata.Machine.StatusKey));
|
||||
Assert.Equal("sampleof", machine.SampleOf);
|
||||
Assert.Equal("savetype", machine.SaveType);
|
||||
Assert.Equal("sourcefile", machine.SourceFile);
|
||||
Assert.Equal("sourcerom", machine.SourceRom);
|
||||
Assert.Equal("status", machine.Status);
|
||||
Assert.Equal(Data.Models.Metadata.Supported.Yes, machine.Supported);
|
||||
Assert.Equal("system", machine.ReadString(Data.Models.Metadata.Machine.SystemKey));
|
||||
Assert.Equal("tags", machine.ReadString(Data.Models.Metadata.Machine.TagsKey));
|
||||
Assert.Equal("year", machine.ReadString(Data.Models.Metadata.Machine.YearKey));
|
||||
Assert.Equal("system", machine.System);
|
||||
Assert.Equal("tags", machine.Tags);
|
||||
Assert.Equal("year", machine.Year);
|
||||
|
||||
DatItems.Trurip? trurip = machine.Read<DatItems.Trurip>(Data.Models.Metadata.Machine.TruripKey);
|
||||
ValidateTrurip(trurip);
|
||||
|
||||
@@ -14,13 +14,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -56,13 +60,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -98,13 +106,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -143,13 +155,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -192,13 +208,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -234,13 +254,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -287,15 +311,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine deviceMachine = new Machine();
|
||||
deviceMachine.Name = "device";
|
||||
deviceMachine.IsDevice = true;
|
||||
Machine deviceMachine = new Machine
|
||||
{
|
||||
Name = "device",
|
||||
IsDevice = true
|
||||
};
|
||||
|
||||
Machine slotOptionMachine = new Machine();
|
||||
slotOptionMachine.Name = "slotoption";
|
||||
Machine slotOptionMachine = new Machine
|
||||
{
|
||||
Name = "slotoption"
|
||||
};
|
||||
|
||||
Machine itemMachine = new Machine();
|
||||
itemMachine.Name = "machine";
|
||||
Machine itemMachine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem deviceItem = new Sample();
|
||||
deviceItem.SetName("device_item");
|
||||
@@ -345,15 +375,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine deviceMachine = new Machine();
|
||||
deviceMachine.Name = "device";
|
||||
deviceMachine.IsDevice = true;
|
||||
Machine deviceMachine = new Machine
|
||||
{
|
||||
Name = "device",
|
||||
IsDevice = true
|
||||
};
|
||||
|
||||
Machine slotOptionMachine = new Machine();
|
||||
slotOptionMachine.Name = "slotoption";
|
||||
Machine slotOptionMachine = new Machine
|
||||
{
|
||||
Name = "slotoption"
|
||||
};
|
||||
|
||||
Machine itemMachine = new Machine();
|
||||
itemMachine.Name = "machine";
|
||||
Machine itemMachine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem deviceItem = new Sample();
|
||||
deviceItem.SetName("device_item");
|
||||
@@ -397,13 +433,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
RomOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -439,13 +479,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
RomOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -488,21 +532,29 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine biosMachine = new Machine();
|
||||
biosMachine.Name = "bios";
|
||||
biosMachine.IsBios = true;
|
||||
Machine biosMachine = new Machine
|
||||
{
|
||||
Name = "bios",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
Machine deviceMachine = new Machine();
|
||||
deviceMachine.Name = "device";
|
||||
deviceMachine.IsDevice = true;
|
||||
Machine deviceMachine = new Machine
|
||||
{
|
||||
Name = "device",
|
||||
IsDevice = true
|
||||
};
|
||||
|
||||
DatItem biosItem = new Rom();
|
||||
biosItem.Machine = biosMachine;
|
||||
biosItem.Source = source;
|
||||
DatItem biosItem = new Rom
|
||||
{
|
||||
Machine = biosMachine,
|
||||
Source = source
|
||||
};
|
||||
|
||||
DatItem deviceItem = new Rom();
|
||||
deviceItem.Machine = deviceMachine;
|
||||
deviceItem.Source = source;
|
||||
DatItem deviceItem = new Rom
|
||||
{
|
||||
Machine = deviceMachine,
|
||||
Source = source
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.AddItem(biosItem, statsOnly: false);
|
||||
@@ -520,13 +572,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine biosMachine = new Machine();
|
||||
biosMachine.Name = "bios";
|
||||
biosMachine.IsBios = true;
|
||||
Machine biosMachine = new Machine
|
||||
{
|
||||
Name = "bios",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
Machine deviceMachine = new Machine();
|
||||
deviceMachine.Name = "device";
|
||||
deviceMachine.IsDevice = true;
|
||||
Machine deviceMachine = new Machine
|
||||
{
|
||||
Name = "device",
|
||||
IsDevice = true
|
||||
};
|
||||
|
||||
DatItem biosItem = new Rom();
|
||||
DatItem deviceItem = new Rom();
|
||||
@@ -553,13 +609,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
parentMachine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "romof");
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent",
|
||||
RomOf = "romof"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent"
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -592,7 +652,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("child", actualMachine.Name);
|
||||
Assert.Equal("romof", actualMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
Assert.Equal("romof", actualMachine.RomOf);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -600,13 +660,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
parentMachine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "romof");
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent",
|
||||
RomOf = "romof"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "parent");
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
CloneOf = "parent"
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -642,7 +706,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Machine? actualMachine = datFile.GetMachineForItemDB(actual).Value;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("child", actualMachine.Name);
|
||||
Assert.Equal("romof", actualMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
Assert.Equal("romof", actualMachine.RomOf);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -654,13 +718,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
RomOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -700,13 +768,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine parentMachine = new Machine();
|
||||
parentMachine.Name = "parent";
|
||||
Machine parentMachine = new Machine
|
||||
{
|
||||
Name = "parent"
|
||||
};
|
||||
|
||||
Machine childMachine = new Machine();
|
||||
childMachine.Name = "child";
|
||||
childMachine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "parent");
|
||||
childMachine.IsBios = true;
|
||||
Machine childMachine = new Machine
|
||||
{
|
||||
Name = "child",
|
||||
RomOf = "parent",
|
||||
IsBios = true
|
||||
};
|
||||
|
||||
DatItem parentItem = new Rom() { Size = 12345 };
|
||||
parentItem.SetName("parent_rom");
|
||||
@@ -753,15 +825,19 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "XXXXXX");
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "XXXXXX");
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, "XXXXXX");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
CloneOf = "cloneof",
|
||||
RomOf = "romof",
|
||||
SampleOf = "sampleof"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Machine = machine;
|
||||
datItem.Source = source;
|
||||
DatItem datItem = new Rom
|
||||
{
|
||||
Machine = machine,
|
||||
Source = source
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.AddItem(datItem, statsOnly: false);
|
||||
@@ -772,9 +848,9 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem actualItem = Assert.Single(datFile.GetItemsForBucket("machine"));
|
||||
Machine? actual = actualItem.Machine;
|
||||
Assert.NotNull(actual);
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.CloneOfKey));
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.SampleOfKey));
|
||||
Assert.Null(actual.CloneOf);
|
||||
Assert.Null(actual.RomOf);
|
||||
Assert.Null(actual.SampleOf);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -782,11 +858,13 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, "XXXXXX");
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, "XXXXXX");
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, "XXXXXX");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
CloneOf = "cloneof",
|
||||
RomOf = "romof",
|
||||
SampleOf = "sampleof"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
|
||||
@@ -799,9 +877,9 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
datFile.RemoveMachineRelationshipTags();
|
||||
|
||||
Machine actual = Assert.Single(datFile.GetMachinesDB()).Value;
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.CloneOfKey));
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.SampleOfKey));
|
||||
Assert.Null(actual.CloneOf);
|
||||
Assert.Null(actual.RomOf);
|
||||
Assert.Null(actual.SampleOf);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -421,55 +421,55 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
private static void ValidateMetadataMachine(Data.Models.Metadata.Machine machine)
|
||||
{
|
||||
Assert.Equal("board", machine.ReadString(Data.Models.Metadata.Machine.BoardKey));
|
||||
Assert.Equal("buttons", machine.ReadString(Data.Models.Metadata.Machine.ButtonsKey));
|
||||
Assert.Equal("board", machine.Board);
|
||||
Assert.Equal("buttons", machine.Buttons);
|
||||
Assert.Equal("category", machine.ReadString(Data.Models.Metadata.Machine.CategoryKey));
|
||||
Assert.Equal("cloneof", machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey));
|
||||
Assert.Equal("cloneofid", machine.ReadString(Data.Models.Metadata.Machine.CloneOfIdKey));
|
||||
Assert.Equal("cloneof", machine.CloneOf);
|
||||
Assert.Equal("cloneofid", machine.CloneOfId);
|
||||
Assert.Equal("comment", machine.ReadString(Data.Models.Metadata.Machine.CommentKey));
|
||||
Assert.Equal("company", machine.ReadString(Data.Models.Metadata.Machine.CompanyKey));
|
||||
Assert.Equal("control", machine.ReadString(Data.Models.Metadata.Machine.ControlKey));
|
||||
Assert.Equal("country", machine.ReadString(Data.Models.Metadata.Machine.CountryKey));
|
||||
Assert.Equal("company", machine.Company);
|
||||
Assert.Equal("control", machine.Control);
|
||||
Assert.Equal("country", machine.Country);
|
||||
Assert.Equal("description", machine.Description);
|
||||
Assert.Equal("dirname", machine.ReadString(Data.Models.Metadata.Machine.DirNameKey));
|
||||
Assert.Equal("displaycount", machine.ReadString(Data.Models.Metadata.Machine.DisplayCountKey));
|
||||
Assert.Equal("displaytype", machine.ReadString(Data.Models.Metadata.Machine.DisplayTypeKey));
|
||||
Assert.Equal("duplicateid", machine.ReadString(Data.Models.Metadata.Machine.DuplicateIDKey));
|
||||
Assert.Equal("emulator", machine.ReadString(Data.Models.Metadata.Machine.EmulatorKey));
|
||||
Assert.Equal("extra", machine.ReadString(Data.Models.Metadata.Machine.ExtraKey));
|
||||
Assert.Equal("favorite", machine.ReadString(Data.Models.Metadata.Machine.FavoriteKey));
|
||||
Assert.Equal("genmsxid", machine.ReadString(Data.Models.Metadata.Machine.GenMSXIDKey));
|
||||
Assert.Equal("history", machine.ReadString(Data.Models.Metadata.Machine.HistoryKey));
|
||||
Assert.Equal("id", machine.ReadString(Data.Models.Metadata.Machine.IdKey));
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im1CRCKey));
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im2CRCKey));
|
||||
Assert.Equal("imagenumber", machine.ReadString(Data.Models.Metadata.Machine.ImageNumberKey));
|
||||
Assert.Equal("dirname", machine.DirName);
|
||||
Assert.Equal("displaycount", machine.DisplayCount);
|
||||
Assert.Equal("displaytype", machine.DisplayType);
|
||||
Assert.Equal("duplicateid", machine.DuplicateID);
|
||||
Assert.Equal("emulator", machine.Emulator);
|
||||
Assert.Equal("extra", machine.Extra);
|
||||
Assert.Equal("favorite", machine.Favorite);
|
||||
Assert.Equal("genmsxid", machine.GenMSXID);
|
||||
Assert.Equal("history", machine.History);
|
||||
Assert.Equal("id", machine.Id);
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.Im1CRC);
|
||||
Assert.Equal(HashType.CRC32.ZeroString, machine.Im2CRC);
|
||||
Assert.Equal("imagenumber", machine.ImageNumber);
|
||||
Assert.Equal(true, machine.IsBios);
|
||||
Assert.Equal(true, machine.IsDevice);
|
||||
Assert.Equal(true, machine.IsMechanical);
|
||||
Assert.Equal("language", machine.ReadString(Data.Models.Metadata.Machine.LanguageKey));
|
||||
Assert.Equal("location", machine.ReadString(Data.Models.Metadata.Machine.LocationKey));
|
||||
Assert.Equal("manufacturer", machine.ReadString(Data.Models.Metadata.Machine.ManufacturerKey));
|
||||
Assert.Equal("language", machine.Language);
|
||||
Assert.Equal("location", machine.Location);
|
||||
Assert.Equal("manufacturer", machine.Manufacturer);
|
||||
Assert.Equal("name", machine.Name);
|
||||
Assert.Equal("notes", machine.ReadString(Data.Models.Metadata.Machine.NotesKey));
|
||||
Assert.Equal("playedcount", machine.ReadString(Data.Models.Metadata.Machine.PlayedCountKey));
|
||||
Assert.Equal("playedtime", machine.ReadString(Data.Models.Metadata.Machine.PlayedTimeKey));
|
||||
Assert.Equal("players", machine.ReadString(Data.Models.Metadata.Machine.PlayersKey));
|
||||
Assert.Equal("publisher", machine.ReadString(Data.Models.Metadata.Machine.PublisherKey));
|
||||
Assert.Equal("rebuildto", machine.ReadString(Data.Models.Metadata.Machine.RebuildToKey));
|
||||
Assert.Equal("releasenumber", machine.ReadString(Data.Models.Metadata.Machine.ReleaseNumberKey));
|
||||
Assert.Equal("romof", machine.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
Assert.Equal("rotation", machine.ReadString(Data.Models.Metadata.Machine.RotationKey));
|
||||
Assert.Equal("notes", machine.Notes);
|
||||
Assert.Equal("playedcount", machine.PlayedCount);
|
||||
Assert.Equal("playedtime", machine.PlayedTime);
|
||||
Assert.Equal("players", machine.Players);
|
||||
Assert.Equal("publisher", machine.Publisher);
|
||||
Assert.Equal("rebuildto", machine.RebuildTo);
|
||||
Assert.Equal("releasenumber", machine.ReleaseNumber);
|
||||
Assert.Equal("romof", machine.RomOf);
|
||||
Assert.Equal("rotation", machine.Rotation);
|
||||
Assert.Equal(Data.Models.Metadata.Runnable.Yes, machine.Runnable);
|
||||
Assert.Equal("sampleof", machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey));
|
||||
Assert.Equal("savetype", machine.ReadString(Data.Models.Metadata.Machine.SaveTypeKey));
|
||||
Assert.Equal("sourcefile", machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey));
|
||||
Assert.Equal("sourcerom", machine.ReadString(Data.Models.Metadata.Machine.SourceRomKey));
|
||||
Assert.Equal("status", machine.ReadString(Data.Models.Metadata.Machine.StatusKey));
|
||||
Assert.Equal("sampleof", machine.SampleOf);
|
||||
Assert.Equal("savetype", machine.SaveType);
|
||||
Assert.Equal("sourcefile", machine.SourceFile);
|
||||
Assert.Equal("sourcerom", machine.SourceRom);
|
||||
Assert.Equal("status", machine.Status);
|
||||
Assert.Equal(Data.Models.Metadata.Supported.Yes, machine.Supported);
|
||||
Assert.Equal("system", machine.ReadString(Data.Models.Metadata.Machine.SystemKey));
|
||||
Assert.Equal("tags", machine.ReadString(Data.Models.Metadata.Machine.TagsKey));
|
||||
Assert.Equal("year", machine.ReadString(Data.Models.Metadata.Machine.YearKey));
|
||||
Assert.Equal("system", machine.System);
|
||||
Assert.Equal("tags", machine.Tags);
|
||||
Assert.Equal("year", machine.Year);
|
||||
|
||||
Data.Models.Metadata.Adjuster[]? adjusters = machine.ReadArray<Data.Models.Metadata.Adjuster>(Data.Models.Metadata.Machine.AdjusterKey);
|
||||
Assert.NotNull(adjusters);
|
||||
|
||||
@@ -30,11 +30,15 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "key";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "key"
|
||||
};
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("rom");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "rom"
|
||||
};
|
||||
rom.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
rom.Source = source;
|
||||
rom.Machine = machine;
|
||||
@@ -72,12 +76,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Source = source;
|
||||
datItem.Machine = machine;
|
||||
DatItem datItem = new Rom
|
||||
{
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.AddItem(datItem, statsOnly: false);
|
||||
@@ -91,8 +99,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
|
||||
@@ -236,8 +246,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void SetHeaderTest()
|
||||
{
|
||||
DatHeader datHeader = new DatHeader();
|
||||
datHeader.Name = "name";
|
||||
DatHeader datHeader = new DatHeader
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
DatFile? datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = "notname";
|
||||
@@ -254,8 +266,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void SetModifiersTest()
|
||||
{
|
||||
DatModifiers datModifiers = new DatModifiers();
|
||||
datModifiers.AddExtension = ".new";
|
||||
DatModifiers datModifiers = new DatModifiers
|
||||
{
|
||||
AddExtension = ".new"
|
||||
};
|
||||
|
||||
DatFile? datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Modifiers.AddExtension = ".old";
|
||||
@@ -1328,11 +1342,15 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
bool gameName,
|
||||
string expected)
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.SetName("name");
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
item.Write(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString);
|
||||
|
||||
DatFile? datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -1362,14 +1380,19 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
string fix = string.Empty;
|
||||
string expected = string.Empty;
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer");
|
||||
machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
Manufacturer = "manufacturer",
|
||||
Publisher = "publisher"
|
||||
};
|
||||
machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category");
|
||||
|
||||
DatItem item = new Rom() { Size = 12345 };
|
||||
item.SetName("name");
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "name",
|
||||
Size = 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");
|
||||
@@ -1394,14 +1417,18 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
string fix = "%game%_%machine%_%name%_%manufacturer%_%publisher%_%category%_%crc16%_%crc%_%crc64%_%md2%_%md4%_%md5%_%ripemd128%_%ripemd160%_%sha1%_%sha256%_%sha384%_%sha512%_%size%_%spamsum%";
|
||||
string expected = "machine_machine_name_manufacturer_publisher_category______md5___sha1_____";
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer");
|
||||
machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
Manufacturer = "manufacturer",
|
||||
Publisher = "publisher"
|
||||
};
|
||||
machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category");
|
||||
|
||||
DatItem item = new Disk();
|
||||
item.SetName("name");
|
||||
DatItem item = new Disk
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
item.Write(Data.Models.Metadata.Disk.MD5Key, "md5");
|
||||
item.Write(Data.Models.Metadata.Disk.SHA1Key, "sha1");
|
||||
|
||||
@@ -1415,10 +1442,12 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
string fix = "%game%_%machine%_%name%_%manufacturer%_%publisher%_%category%_%crc16%_%crc%_%crc64%_%md2%_%md4%_%md5%_%ripemd128%_%ripemd160%_%sha1%_%sha256%_%sha384%_%sha512%_%size%_%spamsum%";
|
||||
string expected = "machine_machine_name.bin_manufacturer_publisher_category__00000000____d41d8cd98f00b204e9800998ecf8427e___da39a3ee5e6b4b0d3255bfef95601890afd80709_e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855___12345_";
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer");
|
||||
machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
Manufacturer = "manufacturer",
|
||||
Publisher = "publisher"
|
||||
};
|
||||
machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category");
|
||||
|
||||
DatItem item = new DatItems.Formats.File
|
||||
@@ -1442,20 +1471,22 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
string fix = "%game%_%machine%_%name%_%manufacturer%_%publisher%_%category%_%crc16%_%crc%_%crc64%_%md2%_%md4%_%md5%_%ripemd128%_%ripemd160%_%sha1%_%sha256%_%sha384%_%sha512%_%size%_%spamsum%";
|
||||
string expected = "machine_machine_name_manufacturer_publisher_category______md5___sha1_sha256____spamsum";
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer");
|
||||
machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
Manufacturer = "manufacturer",
|
||||
Publisher = "publisher"
|
||||
};
|
||||
machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category");
|
||||
|
||||
DatItem item = new Media
|
||||
{
|
||||
Name = "name",
|
||||
MD5 = "md5",
|
||||
SHA1 = "sha1",
|
||||
SHA256 = "sha256",
|
||||
SpamSum = "spamsum",
|
||||
};
|
||||
item.SetName("name");
|
||||
|
||||
string actual = DatFile.FormatPrefixPostfix(item, machine, fix);
|
||||
Assert.Equal(expected, actual);
|
||||
@@ -1467,14 +1498,19 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
string fix = "%game%_%machine%_%name%_%manufacturer%_%publisher%_%category%_%crc16%_%crc%_%crc64%_%md2%_%md4%_%md5%_%ripemd128%_%ripemd160%_%sha1%_%sha256%_%sha384%_%sha512%_%size%_%spamsum%";
|
||||
string expected = "machine_machine_name_manufacturer_publisher_category_crc16_crc_crc64_md2_md4_md5_ripemd128_ripemd160_sha1_sha256_sha384_sha512_12345_spamsum";
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer");
|
||||
machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine",
|
||||
Manufacturer = "manufacturer",
|
||||
Publisher = "publisher"
|
||||
};
|
||||
machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category");
|
||||
|
||||
DatItem item = new Rom() { Size = 12345 };
|
||||
item.SetName("name");
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "name",
|
||||
Size = 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");
|
||||
@@ -1524,7 +1560,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ProcessNullifiedItem_SizeNonNull()
|
||||
{
|
||||
DatItem item = new Rom() { Size = 12345 };
|
||||
DatItem item = new Rom()
|
||||
{
|
||||
Size = 12345
|
||||
};
|
||||
|
||||
DatItem actual = DatFile.ProcessNullifiedItem(item);
|
||||
Rom? rom = actual as Rom;
|
||||
@@ -1946,14 +1985,18 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ResolveNames_SingleItem_Single()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
Source source = new Source(0);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("name");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "name",
|
||||
Size = 12345
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Source = (Source)source.Clone();
|
||||
@@ -1974,21 +2017,27 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ResolveNames_NonDuplicate_AllUntouched()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
Source source = new Source(0);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("romA");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "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.Size = 23456;
|
||||
Rom romB = new Rom
|
||||
{
|
||||
Name = "romB",
|
||||
Size = 23456
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Source = (Source)source.Clone();
|
||||
@@ -2016,21 +2065,27 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ResolveNames_AllDuplicate_Single()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
Source source = new Source(0);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("rom");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
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.Size = 12345;
|
||||
Rom romB = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
Size = 12345
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Source = (Source)source.Clone();
|
||||
@@ -2051,21 +2106,27 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ResolveNames_NameMatch_SingleRenamed()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
Source source = new Source(0);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("rom");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
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.Size = 23456;
|
||||
Rom romB = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
Size = 23456
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Source = (Source)source.Clone();
|
||||
@@ -2108,14 +2169,18 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ResolveNamesDB_SingleItem_Single()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
Source source = new Source(0);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("name");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "name",
|
||||
Size = 12345
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Source = (Source)source.Clone();
|
||||
@@ -2138,21 +2203,27 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ResolveNamesDB_NonDuplicate_AllUntouched()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
Source source = new Source(0);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("romA");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "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.Size = 23456;
|
||||
Rom romB = new Rom
|
||||
{
|
||||
Name = "romB",
|
||||
Size = 23456
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Source = (Source)source.Clone();
|
||||
@@ -2185,22 +2256,28 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
DatFile datFile = new Logiqx(null, useGame: false);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
long machineIndex = datFile.AddMachineDB(machine);
|
||||
|
||||
Source source = new Source(0);
|
||||
long sourceIndex = datFile.AddSourceDB(source);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("rom");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
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.Size = 12345;
|
||||
Rom romB = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
Size = 12345
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
long romBIndex = datFile.AddItemDB(romB, machineIndex, sourceIndex, statsOnly: false);
|
||||
|
||||
@@ -2222,21 +2299,27 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ResolveNamesDB_NameMatch_SingleRenamed()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
Source source = new Source(0);
|
||||
|
||||
Rom romA = new Rom();
|
||||
romA.SetName("rom");
|
||||
romA.Size = 12345;
|
||||
Rom romA = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
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.Size = 23456;
|
||||
Rom romB = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
Size = 23456
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Source = (Source)source.Clone();
|
||||
@@ -2281,8 +2364,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void ShouldIgnore_RemoveSet_True()
|
||||
{
|
||||
DatItem? datItem = new Rom();
|
||||
datItem.RemoveFlag = true;
|
||||
DatItem? datItem = new Rom
|
||||
{
|
||||
RemoveFlag = true
|
||||
};
|
||||
DatFile datFile = new Logiqx(null, useGame: false);
|
||||
|
||||
bool actual = datFile.ShouldIgnore(datItem, ignoreBlanks: true);
|
||||
|
||||
@@ -251,9 +251,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
/// </summary>
|
||||
private static Disk CreateDisk()
|
||||
{
|
||||
var disk = new Disk();
|
||||
|
||||
disk.Status = ItemStatus.Good;
|
||||
var disk = new Disk
|
||||
{
|
||||
Status = ItemStatus.Good
|
||||
};
|
||||
disk.Write<string?>(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString);
|
||||
disk.Write<string?>(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString);
|
||||
|
||||
@@ -282,12 +283,13 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
/// </summary>
|
||||
private static Media CreateMedia()
|
||||
{
|
||||
var media = new Media();
|
||||
|
||||
media.MD5 = HashType.MD5.ZeroString;
|
||||
media.SHA1 = HashType.SHA1.ZeroString;
|
||||
media.SHA256 = HashType.SHA256.ZeroString;
|
||||
media.SpamSum = HashType.SpamSum.ZeroString;
|
||||
var media = new Media
|
||||
{
|
||||
MD5 = HashType.MD5.ZeroString,
|
||||
SHA1 = HashType.SHA1.ZeroString,
|
||||
SHA256 = HashType.SHA256.ZeroString,
|
||||
SpamSum = HashType.SpamSum.ZeroString
|
||||
};
|
||||
|
||||
return media;
|
||||
}
|
||||
@@ -297,10 +299,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
/// </summary>
|
||||
private static Rom CreateRom()
|
||||
{
|
||||
var rom = new Rom();
|
||||
|
||||
rom.Status = ItemStatus.Good;
|
||||
rom.Size = 1;
|
||||
var rom = new Rom
|
||||
{
|
||||
Status = ItemStatus.Good,
|
||||
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);
|
||||
|
||||
@@ -134,8 +134,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom() { Size = 12345 };
|
||||
rom.SetName("item");
|
||||
DatItem rom = new Rom()
|
||||
{
|
||||
Name = "item",
|
||||
Size = 12345,
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "deadbeef");
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
@@ -157,8 +160,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom() { Size = 12345 };
|
||||
rom.SetName("item");
|
||||
DatItem rom = new Rom()
|
||||
{
|
||||
Name = "item",
|
||||
Size = 12345,
|
||||
};
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
long sourceIndex = dict.AddSource(source);
|
||||
@@ -179,8 +185,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("item");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "item"
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "deadbeef");
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
@@ -202,8 +210,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("item");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "item"
|
||||
};
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
long sourceIndex = dict.AddSource(source);
|
||||
@@ -224,8 +234,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.SetName("item");
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "item"
|
||||
};
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
long sourceIndex = dict.AddSource(source);
|
||||
@@ -241,8 +253,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.SetName("item");
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "item"
|
||||
};
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
long sourceIndex = dict.AddSource(source);
|
||||
@@ -292,16 +306,24 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
// Setup the items
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom()
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom()
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
rom2.RemoveFlag = true;
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
@@ -329,8 +351,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
|
||||
@@ -349,8 +373,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
|
||||
@@ -369,11 +395,15 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.RemoveFlag = true;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
RemoveFlag = true
|
||||
};
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
long sourceIndex = dict.AddSource(source);
|
||||
@@ -390,11 +420,15 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.RemoveFlag = true;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
RemoveFlag = true
|
||||
};
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
long sourceIndex = dict.AddSource(source);
|
||||
@@ -411,8 +445,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
|
||||
@@ -509,11 +545,15 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine origMachine = new Machine();
|
||||
origMachine.Name = "original";
|
||||
Machine origMachine = new Machine
|
||||
{
|
||||
Name = "original"
|
||||
};
|
||||
|
||||
Machine newMachine = new Machine();
|
||||
newMachine.Name = "new";
|
||||
Machine newMachine = new Machine
|
||||
{
|
||||
Name = "new"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
|
||||
@@ -540,11 +580,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom() { Size = 1024 };
|
||||
datItem.SetName("rom-1");
|
||||
DatItem datItem = new Rom()
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
datItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
datItem.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
@@ -567,11 +612,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom() { Size = 1024 };
|
||||
datItem.SetName("rom-1");
|
||||
DatItem datItem = new Rom()
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
datItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
datItem.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
@@ -615,29 +665,45 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
// Setup the items
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine1 = new Machine();
|
||||
machine1.Name = "game-1";
|
||||
Machine machine1 = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
Machine machine2 = new Machine();
|
||||
machine2.Name = "game-2";
|
||||
Machine machine2 = new Machine
|
||||
{
|
||||
Name = "game-2"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
|
||||
DatItem rom3 = new Rom() { Size = 1024 };
|
||||
rom3.SetName("rom-3");
|
||||
DatItem rom3 = new Rom
|
||||
{
|
||||
Name = "rom-3",
|
||||
Size = 1024,
|
||||
};
|
||||
rom3.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
rom3.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26");
|
||||
|
||||
DatItem rom4 = new Rom() { Size = 1024 };
|
||||
rom4.SetName("rom-4");
|
||||
DatItem rom4 = new Rom
|
||||
{
|
||||
Name = "rom-4",
|
||||
Size = 1024,
|
||||
};
|
||||
rom4.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
rom4.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487");
|
||||
|
||||
@@ -665,15 +731,23 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
// Setup the items
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
// Setup the dictionary
|
||||
@@ -730,22 +804,30 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source? sourceB = new Source(1);
|
||||
long sourceBIndex = dict.AddSource(sourceB);
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineAIndex = dict.AddMachine(machineA);
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineBIndex = dict.AddMachine(machineB);
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "BEEFDEAD");
|
||||
long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex);
|
||||
KeyValuePair<long, DatItem>? romAPair = new KeyValuePair<long, DatItem>(romAIndex, romA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex);
|
||||
KeyValuePair<long, DatItem>? romBPair = new KeyValuePair<long, DatItem>(romBIndex, romB);
|
||||
@@ -764,22 +846,30 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source? sourceB = new Source(1);
|
||||
long sourceBIndex = dict.AddSource(sourceB);
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineAIndex = dict.AddMachine(machineA);
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineBIndex = dict.AddMachine(machineB);
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex);
|
||||
KeyValuePair<long, DatItem>? romAPair = new KeyValuePair<long, DatItem>(romAIndex, romA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex);
|
||||
KeyValuePair<long, DatItem>? romBPair = new KeyValuePair<long, DatItem>(romBIndex, romB);
|
||||
@@ -798,22 +888,30 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source? sourceB = new Source(1);
|
||||
long sourceBIndex = dict.AddSource(sourceB);
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineAIndex = dict.AddMachine(machineA);
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "not-name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "not-name-same"
|
||||
};
|
||||
long machineBIndex = dict.AddMachine(machineB);
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex);
|
||||
KeyValuePair<long, DatItem>? romAPair = new KeyValuePair<long, DatItem>(romAIndex, romA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex);
|
||||
KeyValuePair<long, DatItem>? romBPair = new KeyValuePair<long, DatItem>(romBIndex, romB);
|
||||
@@ -832,22 +930,30 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source? sourceB = new Source(0);
|
||||
long sourceBIndex = dict.AddSource(sourceB);
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineAIndex = dict.AddMachine(machineA);
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineBIndex = dict.AddMachine(machineB);
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex);
|
||||
KeyValuePair<long, DatItem>? romAPair = new KeyValuePair<long, DatItem>(romAIndex, romA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex);
|
||||
KeyValuePair<long, DatItem>? romBPair = new KeyValuePair<long, DatItem>(romBIndex, romB);
|
||||
@@ -866,22 +972,30 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source? sourceB = new Source(0);
|
||||
long sourceBIndex = dict.AddSource(sourceB);
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
long machineAIndex = dict.AddMachine(machineA);
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "not-name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "not-name-same"
|
||||
};
|
||||
long machineBIndex = dict.AddMachine(machineB);
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex);
|
||||
KeyValuePair<long, DatItem>? romAPair = new KeyValuePair<long, DatItem>(romAIndex, romA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex);
|
||||
KeyValuePair<long, DatItem>? romBPair = new KeyValuePair<long, DatItem>(romBIndex, romB);
|
||||
@@ -902,15 +1016,23 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
// Setup the items
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
|
||||
// Setup the dictionary
|
||||
@@ -921,8 +1043,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
dict.AddItem(rom2, machineIndex, sourceIndex, statsOnly: false);
|
||||
|
||||
// Setup the test item
|
||||
DatItem rom = new Rom() { Size = hasDuplicate ? 1024 : 2048 };
|
||||
rom.SetName("rom-1");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = hasDuplicate ? 1024 : 2048,
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
var actual = dict.GetDuplicates(new KeyValuePair<long, DatItem>(-1, rom));
|
||||
@@ -941,15 +1066,23 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
// Setup the items
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
|
||||
// Setup the dictionary
|
||||
@@ -960,8 +1093,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
dict.AddItem(rom2, machineIndex, sourceIndex, statsOnly: false);
|
||||
|
||||
// Setup the test item
|
||||
DatItem rom = new Rom() { Size = expected ? 1024 : 2048 };
|
||||
rom.SetName("rom-1");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = expected ? 1024 : 2048,
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
|
||||
bool actual = dict.HasDuplicates(new KeyValuePair<long, DatItem>(-1, rom));
|
||||
@@ -977,11 +1113,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom() { Size = 12345 };
|
||||
item.SetName("rom");
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
Size = 12345,
|
||||
};
|
||||
item.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
|
||||
@@ -134,8 +134,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom() { Size = 12345 };
|
||||
rom.SetName("item");
|
||||
DatItem rom = new Rom()
|
||||
{
|
||||
Name = "item",
|
||||
Size = 12345,
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "deadbeef");
|
||||
rom.Source = source;
|
||||
rom.Machine = machine;
|
||||
@@ -157,10 +160,13 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom() { Size = 12345 };
|
||||
rom.SetName("item");
|
||||
rom.Source = source;
|
||||
rom.Machine = machine;
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "item",
|
||||
Size = 12345,
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(rom, statsOnly: false);
|
||||
@@ -179,8 +185,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("item");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "item"
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "deadbeef");
|
||||
rom.Source = source;
|
||||
rom.Machine = machine;
|
||||
@@ -202,10 +210,12 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("item");
|
||||
rom.Source = source;
|
||||
rom.Machine = machine;
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "item",
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(rom, statsOnly: false);
|
||||
@@ -224,10 +234,12 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.SetName("item");
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "item",
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: true);
|
||||
@@ -241,10 +253,12 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Source source = new Source(0, source: null);
|
||||
Machine machine = new Machine();
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.SetName("item");
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "item",
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -260,17 +274,25 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
public void ClearMarkedTest()
|
||||
{
|
||||
// Setup the items
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom1.CopyMachineInformation(machine);
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
|
||||
rom2.RemoveFlag = true;
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
@@ -296,12 +318,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -316,12 +342,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -336,13 +366,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.RemoveFlag = true;
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
RemoveFlag = true,
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -357,13 +391,17 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.RemoveFlag = true;
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
RemoveFlag = true,
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -378,12 +416,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Source = source,
|
||||
Machine = machine
|
||||
};
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -400,8 +442,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void RemoveBucketTest()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom() { Size = 1024 };
|
||||
datItem.SetName("rom-1");
|
||||
@@ -425,8 +469,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
[Fact]
|
||||
public void RemoveItemTest()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom() { Size = 1024 };
|
||||
datItem.SetName("rom-1");
|
||||
@@ -455,32 +501,48 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
public void BucketByTest(ItemKey itemKey, int expected)
|
||||
{
|
||||
// Setup the items
|
||||
Machine machine1 = new Machine();
|
||||
machine1.Name = "game-1";
|
||||
Machine machine1 = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
Machine machine2 = new Machine();
|
||||
machine2.Name = "game-2";
|
||||
Machine machine2 = new Machine
|
||||
{
|
||||
Name = "game-2"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom1.CopyMachineInformation(machine1);
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
rom1.CopyMachineInformation(machine1);
|
||||
|
||||
DatItem rom3 = new Rom() { Size = 1024 };
|
||||
rom3.SetName("rom-3");
|
||||
DatItem rom3 = new Rom
|
||||
{
|
||||
Name = "rom-3",
|
||||
Size = 1024,
|
||||
};
|
||||
rom3.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
|
||||
rom3.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26");
|
||||
rom1.CopyMachineInformation(machine2);
|
||||
|
||||
DatItem rom4 = new Rom() { Size = 1024 };
|
||||
rom4.SetName("rom-4");
|
||||
DatItem rom4 = new Rom
|
||||
{
|
||||
Name = "rom-4",
|
||||
Size = 1024,
|
||||
};
|
||||
rom4.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "DEAEEF");
|
||||
rom4.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487");
|
||||
rom1.CopyMachineInformation(machine2);
|
||||
@@ -504,16 +566,24 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
public void DeduplicateTest()
|
||||
{
|
||||
// Setup the items
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom1.CopyMachineInformation(machine);
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom2.CopyMachineInformation(machine);
|
||||
|
||||
@@ -555,20 +625,28 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
var dict = new ItemDictionary();
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "BEEFDEAD");
|
||||
romA.Source = new Source(0);
|
||||
romA.CopyMachineInformation(machineA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romB.Source = new Source(1);
|
||||
romB.CopyMachineInformation(machineB);
|
||||
@@ -582,20 +660,28 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
var dict = new ItemDictionary();
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romA.Source = new Source(0);
|
||||
romA.CopyMachineInformation(machineA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romB.Source = new Source(1);
|
||||
romB.CopyMachineInformation(machineB);
|
||||
@@ -609,20 +695,28 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
var dict = new ItemDictionary();
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "not-name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "not-name-same"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romA.Source = new Source(0);
|
||||
romA.CopyMachineInformation(machineA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romB.Source = new Source(1);
|
||||
romB.CopyMachineInformation(machineB);
|
||||
@@ -636,20 +730,28 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
var dict = new ItemDictionary();
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romA.Source = new Source(0);
|
||||
romA.CopyMachineInformation(machineA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romB.Source = new Source(0);
|
||||
romB.CopyMachineInformation(machineB);
|
||||
@@ -663,20 +765,28 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
var dict = new ItemDictionary();
|
||||
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "name-same";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "name-same"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "not-name-same";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "not-name-same"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Name = "same-name";
|
||||
var romA = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romA.Source = new Source(0);
|
||||
romA.CopyMachineInformation(machineA);
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Name = "same-name";
|
||||
var romB = new Rom
|
||||
{
|
||||
Name = "same-name"
|
||||
};
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
romB.Source = new Source(0);
|
||||
romB.CopyMachineInformation(machineB);
|
||||
@@ -695,16 +805,24 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
public void GetDuplicatesTest(bool hasDuplicate, int expected)
|
||||
{
|
||||
// Setup the items
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom1.CopyMachineInformation(machine);
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
rom2.CopyMachineInformation(machine);
|
||||
|
||||
@@ -714,8 +832,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
dict.AddItem(rom2, statsOnly: false);
|
||||
|
||||
// Setup the test item
|
||||
DatItem rom = new Rom() { Size = hasDuplicate ? 1024 : 2048 };
|
||||
rom.SetName("rom-1");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = hasDuplicate ? 1024 : 2048,
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom.CopyMachineInformation(machine);
|
||||
|
||||
@@ -733,16 +854,24 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
public void HasDuplicatesTest(bool expected)
|
||||
{
|
||||
// Setup the items
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "game-1";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "game-1"
|
||||
};
|
||||
|
||||
DatItem rom1 = new Rom() { Size = 1024 };
|
||||
rom1.SetName("rom-1");
|
||||
DatItem rom1 = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = 1024,
|
||||
};
|
||||
rom1.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom1.CopyMachineInformation(machine);
|
||||
|
||||
DatItem rom2 = new Rom() { Size = 1024 };
|
||||
rom2.SetName("rom-2");
|
||||
DatItem rom2 = new Rom
|
||||
{
|
||||
Name = "rom-2",
|
||||
Size = 1024,
|
||||
};
|
||||
rom2.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44");
|
||||
rom1.CopyMachineInformation(machine);
|
||||
|
||||
@@ -752,8 +881,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
dict.AddItem("game-1", rom2);
|
||||
|
||||
// Setup the test item
|
||||
DatItem rom = new Rom() { Size = expected ? 1024 : 2048 };
|
||||
rom.SetName("rom-1");
|
||||
DatItem rom = new Rom
|
||||
{
|
||||
Name = "rom-1",
|
||||
Size = expected ? 1024 : 2048,
|
||||
};
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6");
|
||||
rom1.CopyMachineInformation(machine);
|
||||
|
||||
@@ -770,11 +902,16 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
Source source = new Source(0, source: null);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "machine"
|
||||
};
|
||||
|
||||
DatItem item = new Rom() { Size = 12345 };
|
||||
item.SetName("rom");
|
||||
DatItem item = new Rom
|
||||
{
|
||||
Name = "rom",
|
||||
Size = 12345,
|
||||
};
|
||||
item.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
item.Source = source;
|
||||
item.Machine = machine;
|
||||
|
||||
@@ -332,8 +332,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the string values
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant();
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant();
|
||||
string? cloneOf = machine.CloneOf?.ToLowerInvariant();
|
||||
string? romOf = machine.RomOf?.ToLowerInvariant();
|
||||
|
||||
// Match on CloneOf first
|
||||
if (!string.IsNullOrEmpty(cloneOf))
|
||||
@@ -411,8 +411,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the string values
|
||||
string? cloneOf = machineObj.ReadString(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant();
|
||||
string? romOf = machineObj.ReadString(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant();
|
||||
string? cloneOf = machineObj.CloneOf?.ToLowerInvariant();
|
||||
string? romOf = machineObj.RomOf?.ToLowerInvariant();
|
||||
|
||||
// Match on CloneOf first
|
||||
if (!string.IsNullOrEmpty(cloneOf))
|
||||
@@ -733,9 +733,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Get the values to check against
|
||||
string? machineName = machine.Name;
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? sampleOf = machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
string? romOf = machine.RomOf;
|
||||
string? sampleOf = machine.SampleOf;
|
||||
|
||||
// Update machine name
|
||||
if (machineName is not null && mapping.TryGetValue(machineName, out string? mappedMachineName))
|
||||
@@ -743,15 +743,15 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Update cloneof
|
||||
if (cloneOf is not null && mapping.TryGetValue(cloneOf, out string? mappedCloneOf))
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, mappedCloneOf);
|
||||
machine.CloneOf = mappedCloneOf;
|
||||
|
||||
// Update romof
|
||||
if (romOf is not null && mapping.TryGetValue(romOf, out string? mappedRomOf))
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, mappedRomOf);
|
||||
machine.RomOf = mappedRomOf;
|
||||
|
||||
// Update sampleof
|
||||
if (sampleOf is not null && mapping.TryGetValue(sampleOf, out string? mappedSampleOf))
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, mappedSampleOf);
|
||||
machine.SampleOf = mappedSampleOf;
|
||||
}
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
});
|
||||
@@ -774,9 +774,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Get the values to check against
|
||||
string? machineName = machine.Value.Name;
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? sampleOf = machine.Value.ReadString(Data.Models.Metadata.Machine.SampleOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
string? romOf = machine.Value.RomOf;
|
||||
string? sampleOf = machine.Value.SampleOf;
|
||||
|
||||
// Update machine name
|
||||
if (machineName is not null && mapping.TryGetValue(machineName, out string? mappedMachineName))
|
||||
@@ -784,15 +784,15 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Update cloneof
|
||||
if (cloneOf is not null && mapping.TryGetValue(cloneOf, out string? mappedCloneOf))
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, mappedCloneOf);
|
||||
machine.Value.CloneOf = mappedCloneOf;
|
||||
|
||||
// Update romof
|
||||
if (romOf is not null && mapping.TryGetValue(romOf, out string? mappedRomOf))
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, mappedRomOf);
|
||||
machine.Value.RomOf = mappedRomOf;
|
||||
|
||||
// Update sampleof
|
||||
if (sampleOf is not null && mapping.TryGetValue(sampleOf, out string? mappedSampleOf))
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, mappedSampleOf);
|
||||
machine.Value.SampleOf = mappedSampleOf;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(cloneOf);
|
||||
if (cloneOf is null)
|
||||
continue;
|
||||
@@ -408,7 +408,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the clone parent
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
if (string.IsNullOrEmpty(cloneOf))
|
||||
continue;
|
||||
|
||||
@@ -542,7 +542,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(cloneOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -562,10 +562,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the items
|
||||
items = GetItemsForBucket(bucket);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.RomOf;
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
item.Machine!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
item.Machine!.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -596,7 +596,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the clone parent
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
if (string.IsNullOrEmpty(cloneOf))
|
||||
continue;
|
||||
|
||||
@@ -623,7 +623,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the items
|
||||
items = GetItemsForBucketDB(bucket);
|
||||
string? romof = parentMachine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = parentMachine.Value.RomOf;
|
||||
foreach (var key in items.Keys)
|
||||
{
|
||||
var itemMachine = GetMachineForItemDB(key);
|
||||
@@ -631,7 +631,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// TODO: Remove merge tags here
|
||||
itemMachine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
itemMachine.Value.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -981,7 +981,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.RomOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1024,7 +1024,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.Value.RomOf;
|
||||
Dictionary<long, DatItem> parentItems = GetItemsForBucketDB(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1163,7 +1163,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(cloneOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1186,10 +1186,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the remaining items
|
||||
items = GetItemsForBucket(bucket);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.RomOf;
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
item.Machine!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
item.Machine!.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1217,7 +1217,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
Dictionary<long, DatItem> parentItems = GetItemsForBucketDB(cloneOf);
|
||||
if (parentItems is null || parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1238,14 +1238,14 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (machine.Value is null)
|
||||
continue;
|
||||
|
||||
string? romof = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = machine.Value.RomOf;
|
||||
foreach (var item in items)
|
||||
{
|
||||
machine = GetMachineForItemDB(item.Key);
|
||||
if (machine.Value is null)
|
||||
continue;
|
||||
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
machine.Value.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1273,7 +1273,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.RomOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1320,7 +1320,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.Value.RomOf;
|
||||
Dictionary<long, DatItem> parentItems = GetItemsForBucketDB(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1370,9 +1370,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, null);
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, null);
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, null);
|
||||
machine.CloneOf = null;
|
||||
machine.RomOf = null;
|
||||
machine.SampleOf = null;
|
||||
}
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
});
|
||||
@@ -1404,9 +1404,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
#endif
|
||||
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, null);
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, null);
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, null);
|
||||
machine.Value.CloneOf = null;
|
||||
machine.Value.RomOf = null;
|
||||
machine.Value.SampleOf = null;
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
});
|
||||
#else
|
||||
|
||||
@@ -84,11 +84,11 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (trurip is not null)
|
||||
{
|
||||
var truripItem = trurip.ConvertToLogiqx();
|
||||
truripItem.Publisher = machine.ReadString(Data.Models.Metadata.Machine.PublisherKey);
|
||||
truripItem.Year = machine.ReadString(Data.Models.Metadata.Machine.YearKey);
|
||||
truripItem.Players = machine.ReadString(Data.Models.Metadata.Machine.PlayersKey);
|
||||
truripItem.Source = machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey);
|
||||
truripItem.CloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
truripItem.Publisher = machine.Publisher;
|
||||
truripItem.Year = machine.Year;
|
||||
truripItem.Players = machine.Players;
|
||||
truripItem.Source = machine.SourceFile;
|
||||
truripItem.CloneOf = machine.CloneOf;
|
||||
machine[Data.Models.Metadata.Machine.TruripKey] = truripItem;
|
||||
}
|
||||
}
|
||||
@@ -513,11 +513,11 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (trurip is not null)
|
||||
{
|
||||
var truripItem = trurip.ConvertToLogiqx();
|
||||
truripItem.Publisher = machine.ReadString(Data.Models.Metadata.Machine.PublisherKey);
|
||||
truripItem.Year = machine.ReadString(Data.Models.Metadata.Machine.YearKey);
|
||||
truripItem.Players = machine.ReadString(Data.Models.Metadata.Machine.PlayersKey);
|
||||
truripItem.Source = machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey);
|
||||
truripItem.CloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
truripItem.Publisher = machine.Publisher;
|
||||
truripItem.Year = machine.Year;
|
||||
truripItem.Players = machine.Players;
|
||||
truripItem.Source = machine.SourceFile;
|
||||
truripItem.CloneOf = machine.CloneOf;
|
||||
machine[Data.Models.Metadata.Machine.TruripKey] = truripItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -584,8 +584,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
Data.Models.Metadata.ItemType type = item.ItemType;
|
||||
string
|
||||
game = machine?.Name ?? string.Empty,
|
||||
manufacturer = machine?.ReadString(Data.Models.Metadata.Machine.ManufacturerKey) ?? string.Empty,
|
||||
publisher = machine?.ReadString(Data.Models.Metadata.Machine.PublisherKey) ?? string.Empty,
|
||||
manufacturer = machine?.Manufacturer ?? string.Empty,
|
||||
publisher = machine?.Publisher ?? string.Empty,
|
||||
category = machine?.ReadString(Data.Models.Metadata.Machine.CategoryKey) ?? string.Empty,
|
||||
name = item.GetName() ?? type.AsStringValue() ?? string.Empty,
|
||||
crc16 = string.Empty,
|
||||
|
||||
@@ -558,8 +558,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
|
||||
// If the saved machine is a child of the current machine, use the current machine instead
|
||||
if (savedMachine?.ReadString(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine?.Name
|
||||
|| savedMachine?.ReadString(Data.Models.Metadata.Machine.RomOfKey) == itemMachine?.Name)
|
||||
if (savedMachine?.CloneOf == itemMachine?.Name
|
||||
|| savedMachine?.RomOf == itemMachine?.Name)
|
||||
{
|
||||
savedItem.CopyMachineInformation(datItem);
|
||||
savedItem.SetName(datItem.GetName());
|
||||
|
||||
@@ -940,8 +940,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
|
||||
// If the saved machine is a child of the current machine, use the current machine instead
|
||||
if (savedMachine.ReadString(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine.Name
|
||||
|| savedMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey) == itemMachine.Name)
|
||||
if (savedMachine.CloneOf == itemMachine.Name
|
||||
|| savedMachine.RomOf == itemMachine.Name)
|
||||
{
|
||||
_machines[_itemToMachineMapping[savedIndex]] = (itemMachine.Clone() as Machine)!;
|
||||
savedItem.SetName(datItem.GetName());
|
||||
|
||||
@@ -53,13 +53,12 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CopyMachineInformation_NewItem_Overwrite()
|
||||
{
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "machineA";
|
||||
|
||||
var romA = new Rom();
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Machine = null;
|
||||
var romB = new Rom
|
||||
{
|
||||
Machine = null
|
||||
};
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.Machine;
|
||||
@@ -70,14 +69,20 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CopyMachineInformation_EmptyItem_NoChange()
|
||||
{
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "machineA";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "machineA"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Machine = machineA;
|
||||
var romA = new Rom
|
||||
{
|
||||
Machine = machineA
|
||||
};
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Machine = null;
|
||||
var romB = new Rom
|
||||
{
|
||||
Machine = null
|
||||
};
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.Machine;
|
||||
@@ -88,16 +93,22 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CopyMachineInformation_NullMachine_NoChange()
|
||||
{
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "machineA";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "machineA"
|
||||
};
|
||||
|
||||
Machine? machineB = null;
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Machine = machineA;
|
||||
var romA = new Rom
|
||||
{
|
||||
Machine = machineA
|
||||
};
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Machine = machineB;
|
||||
var romB = new Rom
|
||||
{
|
||||
Machine = machineB
|
||||
};
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.Machine;
|
||||
@@ -108,16 +119,22 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CopyMachineInformation_EmptyMachine_Overwrite()
|
||||
{
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "machineA";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "machineA"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Machine = machineA;
|
||||
var romA = new Rom
|
||||
{
|
||||
Machine = machineA
|
||||
};
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Machine = machineB;
|
||||
var romB = new Rom
|
||||
{
|
||||
Machine = machineB
|
||||
};
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.Machine;
|
||||
@@ -128,17 +145,25 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CopyMachineInformation_FilledMachine_Overwrite()
|
||||
{
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "machineA";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "machineA"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "machineB";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "machineB"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Machine = machineA;
|
||||
var romA = new Rom
|
||||
{
|
||||
Machine = machineA
|
||||
};
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Machine = machineB;
|
||||
var romB = new Rom
|
||||
{
|
||||
Machine = machineB
|
||||
};
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.Machine;
|
||||
@@ -149,17 +174,25 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CopyMachineInformation_MismatchedType_Overwrite()
|
||||
{
|
||||
Machine? machineA = new Machine();
|
||||
machineA.Name = "machineA";
|
||||
Machine? machineA = new Machine
|
||||
{
|
||||
Name = "machineA"
|
||||
};
|
||||
|
||||
Machine? machineB = new Machine();
|
||||
machineB.Name = "machineB";
|
||||
Machine? machineB = new Machine
|
||||
{
|
||||
Name = "machineB"
|
||||
};
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Machine = machineA;
|
||||
var romA = new Rom
|
||||
{
|
||||
Machine = machineA
|
||||
};
|
||||
|
||||
var diskB = new Disk();
|
||||
diskB.Machine = machineB;
|
||||
var diskB = new Disk
|
||||
{
|
||||
Machine = machineB
|
||||
};
|
||||
|
||||
romA.CopyMachineInformation(diskB);
|
||||
var actualMachineA = romA.Machine;
|
||||
@@ -355,8 +388,10 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "Machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "Machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new Blank();
|
||||
|
||||
@@ -429,8 +464,10 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "Machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "Machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Write(Data.Models.Metadata.Rom.CRC16Key, "DEADBEEF");
|
||||
@@ -536,8 +573,10 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CloneTest()
|
||||
{
|
||||
DatItem item = new Sample();
|
||||
item.SetName("name");
|
||||
DatItem item = new Sample
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
object clone = item.Clone();
|
||||
Sample? actual = clone as Sample;
|
||||
|
||||
@@ -10,19 +10,27 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void ConvertToRomTest()
|
||||
{
|
||||
DiskArea diskArea = new DiskArea();
|
||||
diskArea.Name = "name";
|
||||
DiskArea diskArea = new DiskArea
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "name";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
Part part = new Part();
|
||||
part.Name = "name";
|
||||
Part part = new Part
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
Source source = new Source(0, "XXXXXX");
|
||||
|
||||
Disk disk = new Disk();
|
||||
disk.Name = "name";
|
||||
Disk disk = new Disk
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
disk.Write(Disk.DiskAreaKey, diskArea);
|
||||
disk.Write(Data.Models.Metadata.Disk.MergeKey, "XXXXXX");
|
||||
disk.Write(Data.Models.Metadata.Disk.RegionKey, "XXXXXX");
|
||||
@@ -253,8 +261,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "Machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "Machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new Disk();
|
||||
datItem.Write(Data.Models.Metadata.Disk.MD5Key, "DEADBEEF");
|
||||
|
||||
@@ -10,8 +10,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void ConvertToRomTest()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "name";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
Source source = new Source(0, "XXXXXX");
|
||||
|
||||
@@ -24,12 +26,12 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
MD5 = "DEADBEEF",
|
||||
SHA1 = "DEADBEEF",
|
||||
SHA256 = "DEADBEEF",
|
||||
Format = "XXXXXX"
|
||||
Format = "XXXXXX",
|
||||
DupeType = DupeType.All | DupeType.External,
|
||||
Machine = machine,
|
||||
RemoveFlag = false,
|
||||
Source = source
|
||||
};
|
||||
file.DupeType = DupeType.All | DupeType.External;
|
||||
file.Machine = machine;
|
||||
file.RemoveFlag = false;
|
||||
file.Source = source;
|
||||
file.Machine = machine;
|
||||
file.Source = source;
|
||||
|
||||
@@ -340,8 +342,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "Machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "Machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new File
|
||||
{
|
||||
|
||||
@@ -10,21 +10,25 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void ConvertToRomTest()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "name";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
Source source = new Source(0, "XXXXXX");
|
||||
|
||||
Media media = new Media();
|
||||
media.Name = "name";
|
||||
media.MD5 = HashType.MD5.ZeroString;
|
||||
media.SHA1 = HashType.SHA1.ZeroString;
|
||||
media.SHA256 = HashType.SHA256.ZeroString;
|
||||
media.SpamSum = HashType.SpamSum.ZeroString;
|
||||
media.DupeType = DupeType.All | DupeType.External;
|
||||
media.Machine = machine;
|
||||
media.RemoveFlag = false;
|
||||
media.Source = source;
|
||||
Media media = new Media
|
||||
{
|
||||
Name = "name",
|
||||
MD5 = HashType.MD5.ZeroString,
|
||||
SHA1 = HashType.SHA1.ZeroString,
|
||||
SHA256 = HashType.SHA256.ZeroString,
|
||||
SpamSum = HashType.SpamSum.ZeroString,
|
||||
DupeType = DupeType.All | DupeType.External,
|
||||
Machine = machine,
|
||||
RemoveFlag = false,
|
||||
Source = source
|
||||
};
|
||||
|
||||
Rom actual = media.ConvertToRom();
|
||||
|
||||
@@ -70,11 +74,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
Media self = new Media();
|
||||
|
||||
Media other = new Media();
|
||||
other.MD5 = "XXXXXX";
|
||||
other.SHA1 = "XXXXXX";
|
||||
other.SHA256 = "XXXXXX";
|
||||
other.SpamSum = "XXXXXX";
|
||||
Media other = new Media
|
||||
{
|
||||
MD5 = "XXXXXX",
|
||||
SHA1 = "XXXXXX",
|
||||
SHA256 = "XXXXXX",
|
||||
SpamSum = "XXXXXX"
|
||||
};
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
@@ -99,11 +105,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasHashes_MD5_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = "XXXXXX";
|
||||
self.SHA1 = string.Empty;
|
||||
self.SHA256 = string.Empty;
|
||||
self.SpamSum = string.Empty;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = "XXXXXX",
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
SpamSum = string.Empty
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
@@ -112,11 +120,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasHashes_SHA1_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = string.Empty;
|
||||
self.SHA1 = "XXXXXX";
|
||||
self.SHA256 = string.Empty;
|
||||
self.SpamSum = string.Empty;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = string.Empty,
|
||||
SHA1 = "XXXXXX",
|
||||
SHA256 = string.Empty,
|
||||
SpamSum = string.Empty
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
@@ -125,11 +135,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasHashes_SHA256_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = string.Empty;
|
||||
self.SHA1 = string.Empty;
|
||||
self.SHA256 = "XXXXXX";
|
||||
self.SpamSum = string.Empty;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = "XXXXXX",
|
||||
SpamSum = string.Empty
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
@@ -138,11 +150,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasHashes_SpamSum_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = string.Empty;
|
||||
self.SHA1 = string.Empty;
|
||||
self.SHA256 = string.Empty;
|
||||
self.SpamSum = "XXXXXX";
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
SpamSum = "XXXXXX"
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
@@ -151,11 +165,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasHashes_All_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = "XXXXXX";
|
||||
self.SHA1 = "XXXXXX";
|
||||
self.SHA256 = "XXXXXX";
|
||||
self.SpamSum = "XXXXXX";
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = "XXXXXX",
|
||||
SHA1 = "XXXXXX",
|
||||
SHA256 = "XXXXXX",
|
||||
SpamSum = "XXXXXX"
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
@@ -176,11 +192,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasZeroHash_NonZeroHash_False()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = "XXXXXX";
|
||||
self.SHA1 = "XXXXXX";
|
||||
self.SHA256 = "XXXXXX";
|
||||
self.SpamSum = "XXXXXX";
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = "XXXXXX",
|
||||
SHA1 = "XXXXXX",
|
||||
SHA256 = "XXXXXX",
|
||||
SpamSum = "XXXXXX"
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.False(actual);
|
||||
@@ -189,11 +207,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroMD5_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = HashType.MD5.ZeroString;
|
||||
self.SHA1 = string.Empty;
|
||||
self.SHA256 = string.Empty;
|
||||
self.SpamSum = string.Empty;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = HashType.MD5.ZeroString,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
SpamSum = string.Empty
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
@@ -202,11 +222,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA1_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = string.Empty;
|
||||
self.SHA1 = HashType.SHA1.ZeroString;
|
||||
self.SHA256 = string.Empty;
|
||||
self.SpamSum = string.Empty;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = string.Empty,
|
||||
SHA1 = HashType.SHA1.ZeroString,
|
||||
SHA256 = string.Empty,
|
||||
SpamSum = string.Empty
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
@@ -215,11 +237,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA256_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = string.Empty;
|
||||
self.SHA1 = string.Empty;
|
||||
self.SHA256 = HashType.SHA256.ZeroString;
|
||||
self.SpamSum = string.Empty;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = HashType.SHA256.ZeroString,
|
||||
SpamSum = string.Empty
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
@@ -228,11 +252,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSpamSum_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = string.Empty;
|
||||
self.SHA1 = string.Empty;
|
||||
self.SHA256 = string.Empty;
|
||||
self.SpamSum = HashType.SpamSum.ZeroString;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
SpamSum = HashType.SpamSum.ZeroString
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
@@ -241,11 +267,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroAll_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.MD5 = HashType.MD5.ZeroString;
|
||||
self.SHA1 = HashType.SHA1.ZeroString;
|
||||
self.SHA256 = HashType.SHA256.ZeroString;
|
||||
self.SpamSum = HashType.SpamSum.ZeroString;
|
||||
Media self = new Media
|
||||
{
|
||||
MD5 = HashType.MD5.ZeroString,
|
||||
SHA1 = HashType.SHA1.ZeroString,
|
||||
SHA256 = HashType.SHA256.ZeroString,
|
||||
SpamSum = HashType.SpamSum.ZeroString
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
@@ -305,8 +333,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.Name = "Machine";
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "Machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new Media
|
||||
{
|
||||
|
||||
@@ -799,8 +799,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.SetName("Machine");
|
||||
Machine machine = new Machine
|
||||
{
|
||||
Name = "Machine"
|
||||
};
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Write(Data.Models.Metadata.Rom.CRC16Key, "DEADBEEF");
|
||||
|
||||
@@ -9,8 +9,10 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void CloneTest()
|
||||
{
|
||||
Machine item = new Machine();
|
||||
item.Name = "name";
|
||||
Machine item = new Machine
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
object clone = item.Clone();
|
||||
Machine? actual = clone as Machine;
|
||||
@@ -25,8 +27,10 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void GetInternalCloneTest()
|
||||
{
|
||||
Machine item = new Machine();
|
||||
item.Name = "name";
|
||||
Machine item = new Machine
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
Data.Models.Metadata.Machine actual = item.GetInternalClone();
|
||||
Assert.Equal("name", actual.Name);
|
||||
@@ -59,11 +63,15 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void Equals_MismatchedInternal_False()
|
||||
{
|
||||
Machine self = new Machine();
|
||||
self.Name = "self";
|
||||
Machine self = new Machine
|
||||
{
|
||||
Name = "self"
|
||||
};
|
||||
|
||||
Machine? other = new Machine();
|
||||
other.Name = "other";
|
||||
Machine? other = new Machine
|
||||
{
|
||||
Name = "other"
|
||||
};
|
||||
|
||||
bool actual = self.Equals(other);
|
||||
Assert.False(actual);
|
||||
@@ -72,11 +80,15 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
[Fact]
|
||||
public void Equals_EqualInternal_True()
|
||||
{
|
||||
Machine self = new Machine();
|
||||
self.Name = "name";
|
||||
Machine self = new Machine
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
Machine? other = new Machine();
|
||||
other.Name = "name";
|
||||
Machine? other = new Machine
|
||||
{
|
||||
Name = "name"
|
||||
};
|
||||
|
||||
bool actual = self.Equals(other);
|
||||
Assert.True(actual);
|
||||
|
||||
@@ -136,7 +136,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
{
|
||||
var rom = new Rom();
|
||||
|
||||
rom.SetName($"{Id}.{Extension}");
|
||||
rom.Name = $"{Id}.{Extension}";
|
||||
rom.Size = Size;
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRCKey, CRC);
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.MD5Key, MD5);
|
||||
|
||||
@@ -15,12 +15,138 @@ namespace SabreTools.Metadata.DatItems
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public string? Board
|
||||
{
|
||||
get => _internal.Board;
|
||||
set => _internal.Board = value;
|
||||
}
|
||||
|
||||
public string? Buttons
|
||||
{
|
||||
get => _internal.Buttons;
|
||||
set => _internal.Buttons = value;
|
||||
}
|
||||
|
||||
public string? CloneOf
|
||||
{
|
||||
get => _internal.CloneOf;
|
||||
set => _internal.CloneOf = value;
|
||||
}
|
||||
|
||||
public string? CloneOfId
|
||||
{
|
||||
get => _internal.CloneOfId;
|
||||
set => _internal.CloneOfId = value;
|
||||
}
|
||||
|
||||
public string? Company
|
||||
{
|
||||
get => _internal.Company;
|
||||
set => _internal.Company = value;
|
||||
}
|
||||
|
||||
public string? Control
|
||||
{
|
||||
get => _internal.Control;
|
||||
set => _internal.Control = value;
|
||||
}
|
||||
|
||||
public string? Country
|
||||
{
|
||||
get => _internal.Country;
|
||||
set => _internal.Country = value;
|
||||
}
|
||||
|
||||
public string? Description
|
||||
{
|
||||
get => _internal.Description;
|
||||
set => _internal.Description = value;
|
||||
}
|
||||
|
||||
public string? DirName
|
||||
{
|
||||
get => _internal.DirName;
|
||||
set => _internal.DirName = value;
|
||||
}
|
||||
|
||||
public string? DisplayCount
|
||||
{
|
||||
get => _internal.DisplayCount;
|
||||
set => _internal.DisplayCount = value;
|
||||
}
|
||||
|
||||
public string? DisplayType
|
||||
{
|
||||
get => _internal.DisplayType;
|
||||
set => _internal.DisplayType = value;
|
||||
}
|
||||
|
||||
public string? DuplicateID
|
||||
{
|
||||
get => _internal.DuplicateID;
|
||||
set => _internal.DuplicateID = value;
|
||||
}
|
||||
|
||||
public string? Emulator
|
||||
{
|
||||
get => _internal.Emulator;
|
||||
set => _internal.Emulator = value;
|
||||
}
|
||||
|
||||
public string? Extra
|
||||
{
|
||||
get => _internal.Extra;
|
||||
set => _internal.Extra = value;
|
||||
}
|
||||
|
||||
public string? Favorite
|
||||
{
|
||||
get => _internal.Favorite;
|
||||
set => _internal.Favorite = value;
|
||||
}
|
||||
|
||||
public string? GenMSXID
|
||||
{
|
||||
get => _internal.GenMSXID;
|
||||
set => _internal.GenMSXID = value;
|
||||
}
|
||||
|
||||
public string? Hash
|
||||
{
|
||||
get => _internal.Hash;
|
||||
set => _internal.Hash = value;
|
||||
}
|
||||
|
||||
public string? History
|
||||
{
|
||||
get => _internal.History;
|
||||
set => _internal.History = value;
|
||||
}
|
||||
|
||||
public string? Id
|
||||
{
|
||||
get => _internal.Id;
|
||||
set => _internal.Id = value;
|
||||
}
|
||||
|
||||
public string? Im1CRC
|
||||
{
|
||||
get => _internal.Im1CRC;
|
||||
set => _internal.Im1CRC = value;
|
||||
}
|
||||
|
||||
public string? Im2CRC
|
||||
{
|
||||
get => _internal.Im2CRC;
|
||||
set => _internal.Im2CRC = value;
|
||||
}
|
||||
|
||||
public string? ImageNumber
|
||||
{
|
||||
get => _internal.ImageNumber;
|
||||
set => _internal.ImageNumber = value;
|
||||
}
|
||||
|
||||
public bool? IsBios
|
||||
{
|
||||
get => _internal.IsBios;
|
||||
@@ -39,24 +165,150 @@ namespace SabreTools.Metadata.DatItems
|
||||
set => _internal.IsMechanical = value;
|
||||
}
|
||||
|
||||
public string? Language
|
||||
{
|
||||
get => _internal.Language;
|
||||
set => _internal.Language = value;
|
||||
}
|
||||
|
||||
public string? Location
|
||||
{
|
||||
get => _internal.Location;
|
||||
set => _internal.Location = value;
|
||||
}
|
||||
|
||||
public string? Manufacturer
|
||||
{
|
||||
get => _internal.Manufacturer;
|
||||
set => _internal.Manufacturer = value;
|
||||
}
|
||||
|
||||
public string? Name
|
||||
{
|
||||
get => _internal.Name;
|
||||
set => _internal.Name = value;
|
||||
}
|
||||
|
||||
public string? Notes
|
||||
{
|
||||
get => _internal.Notes;
|
||||
set => _internal.Notes = value;
|
||||
}
|
||||
|
||||
public string? PlayedCount
|
||||
{
|
||||
get => _internal.PlayedCount;
|
||||
set => _internal.PlayedCount = value;
|
||||
}
|
||||
|
||||
public string? PlayedTime
|
||||
{
|
||||
get => _internal.PlayedTime;
|
||||
set => _internal.PlayedTime = value;
|
||||
}
|
||||
|
||||
public string? Players
|
||||
{
|
||||
get => _internal.Players;
|
||||
set => _internal.Players = value;
|
||||
}
|
||||
|
||||
public string? Publisher
|
||||
{
|
||||
get => _internal.Publisher;
|
||||
set => _internal.Publisher = value;
|
||||
}
|
||||
|
||||
public string? RebuildTo
|
||||
{
|
||||
get => _internal.RebuildTo;
|
||||
set => _internal.RebuildTo = value;
|
||||
}
|
||||
|
||||
public string? ReleaseNumber
|
||||
{
|
||||
get => _internal.ReleaseNumber;
|
||||
set => _internal.ReleaseNumber = value;
|
||||
}
|
||||
|
||||
public string? RomOf
|
||||
{
|
||||
get => _internal.RomOf;
|
||||
set => _internal.RomOf = value;
|
||||
}
|
||||
|
||||
public string? Rotation
|
||||
{
|
||||
get => _internal.Rotation;
|
||||
set => _internal.Rotation = value;
|
||||
}
|
||||
|
||||
public Data.Models.Metadata.Runnable? Runnable
|
||||
{
|
||||
get => _internal.Runnable;
|
||||
set => _internal.Runnable = value;
|
||||
}
|
||||
|
||||
public string? SampleOf
|
||||
{
|
||||
get => _internal.SampleOf;
|
||||
set => _internal.SampleOf = value;
|
||||
}
|
||||
|
||||
public string? SaveType
|
||||
{
|
||||
get => _internal.SaveType;
|
||||
set => _internal.SaveType = value;
|
||||
}
|
||||
|
||||
public string? SourceFile
|
||||
{
|
||||
get => _internal.SourceFile;
|
||||
set => _internal.SourceFile = value;
|
||||
}
|
||||
|
||||
public string? SourceRom
|
||||
{
|
||||
get => _internal.SourceRom;
|
||||
set => _internal.SourceRom = value;
|
||||
}
|
||||
|
||||
public string? Status
|
||||
{
|
||||
get => _internal.Status;
|
||||
set => _internal.Status = value;
|
||||
}
|
||||
|
||||
public Data.Models.Metadata.Supported? Supported
|
||||
{
|
||||
get => _internal.Supported;
|
||||
set => _internal.Supported = value;
|
||||
}
|
||||
|
||||
public string? System
|
||||
{
|
||||
get => _internal.System;
|
||||
set => _internal.System = value;
|
||||
}
|
||||
|
||||
public string? Tags
|
||||
{
|
||||
get => _internal.Tags;
|
||||
set => _internal.Tags = value;
|
||||
}
|
||||
|
||||
public string? Url
|
||||
{
|
||||
get => _internal.Url;
|
||||
set => _internal.Url = value;
|
||||
}
|
||||
|
||||
public string? Year
|
||||
{
|
||||
get => _internal.Year;
|
||||
set => _internal.Year = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
@@ -101,13 +353,11 @@ namespace SabreTools.Metadata.DatItems
|
||||
Remove(Data.Models.Metadata.Machine.VideoKey);
|
||||
|
||||
// Process flag values
|
||||
string? im1Crc = ReadString(Data.Models.Metadata.Machine.Im1CRCKey);
|
||||
if (im1Crc is not null)
|
||||
Write<string?>(Data.Models.Metadata.Machine.Im1CRCKey, TextHelper.NormalizeCRC32(im1Crc));
|
||||
if (Im1CRC is not null)
|
||||
Im1CRC = TextHelper.NormalizeCRC32(Im1CRC);
|
||||
|
||||
string? im2Crc = ReadString(Data.Models.Metadata.Machine.Im2CRCKey);
|
||||
if (im2Crc is not null)
|
||||
Write<string?>(Data.Models.Metadata.Machine.Im2CRCKey, TextHelper.NormalizeCRC32(im2Crc));
|
||||
if (Im2CRC is not null)
|
||||
Im2CRC = TextHelper.NormalizeCRC32(Im2CRC);
|
||||
|
||||
// Handle Trurip object, if it exists
|
||||
var truripItem = machine.Read<Data.Models.Logiqx.Trurip>(Data.Models.Metadata.Machine.TruripKey);
|
||||
@@ -202,7 +452,7 @@ namespace SabreTools.Metadata.DatItems
|
||||
if (IsBios != other.IsBios)
|
||||
return false;
|
||||
|
||||
if (IsDevice != other.IsDevice)
|
||||
if (IsDevice != other.IsDevice)
|
||||
return false;
|
||||
|
||||
if (IsMechanical != other.IsMechanical)
|
||||
|
||||
@@ -733,9 +733,72 @@ namespace SabreTools.Metadata.Filter
|
||||
checkValue = item.Tilt.FromYesNo();
|
||||
return true;
|
||||
|
||||
case Machine item when fieldName == "board":
|
||||
checkValue = item.Board;
|
||||
return true;
|
||||
case Machine item when fieldName == "buttons":
|
||||
checkValue = item.Buttons;
|
||||
return true;
|
||||
case Machine item when fieldName == "cloneof":
|
||||
checkValue = item.CloneOf;
|
||||
return true;
|
||||
case Machine item when fieldName == "cloneofid":
|
||||
checkValue = item.CloneOfId;
|
||||
return true;
|
||||
case Machine item when fieldName == "company":
|
||||
checkValue = item.Company;
|
||||
return true;
|
||||
case Machine item when fieldName == "control":
|
||||
checkValue = item.Control;
|
||||
return true;
|
||||
case Machine item when fieldName == "country":
|
||||
checkValue = item.Country;
|
||||
return true;
|
||||
case Machine item when fieldName == "description":
|
||||
checkValue = item.Description;
|
||||
return true;
|
||||
case Machine item when fieldName == "dirname":
|
||||
checkValue = item.DirName;
|
||||
return true;
|
||||
case Machine item when fieldName == "displaycount":
|
||||
checkValue = item.DisplayCount;
|
||||
return true;
|
||||
case Machine item when fieldName == "displaytype":
|
||||
checkValue = item.DisplayType;
|
||||
return true;
|
||||
case Machine item when fieldName == "duplicateid":
|
||||
checkValue = item.DuplicateID;
|
||||
return true;
|
||||
case Machine item when fieldName == "emulator":
|
||||
checkValue = item.Emulator;
|
||||
return true;
|
||||
case Machine item when fieldName == "extra":
|
||||
checkValue = item.Extra;
|
||||
return true;
|
||||
case Machine item when fieldName == "favorite":
|
||||
checkValue = item.Favorite;
|
||||
return true;
|
||||
case Machine item when fieldName == "genmsxid":
|
||||
checkValue = item.GenMSXID;
|
||||
return true;
|
||||
case Machine item when fieldName == "hash":
|
||||
checkValue = item.Hash;
|
||||
return true;
|
||||
case Machine item when fieldName == "history":
|
||||
checkValue = item.History;
|
||||
return true;
|
||||
case Machine item when fieldName == "id":
|
||||
checkValue = item.Id;
|
||||
return true;
|
||||
case Machine item when fieldName == "im1crc":
|
||||
checkValue = item.Im1CRC;
|
||||
return true;
|
||||
case Machine item when fieldName == "im2crc":
|
||||
checkValue = item.Im2CRC;
|
||||
return true;
|
||||
case Machine item when fieldName == "imagenumber":
|
||||
checkValue = item.ImageNumber;
|
||||
return true;
|
||||
case Machine item when fieldName == "isbios":
|
||||
checkValue = item.IsBios.FromYesNo();
|
||||
return true;
|
||||
@@ -745,12 +808,75 @@ namespace SabreTools.Metadata.Filter
|
||||
case Machine item when fieldName == "ismechanical":
|
||||
checkValue = item.IsMechanical.FromYesNo();
|
||||
return true;
|
||||
case Machine item when fieldName == "language":
|
||||
checkValue = item.Language;
|
||||
return true;
|
||||
case Machine item when fieldName == "location":
|
||||
checkValue = item.Location;
|
||||
return true;
|
||||
case Machine item when fieldName == "manufacturer":
|
||||
checkValue = item.Manufacturer;
|
||||
return true;
|
||||
case Machine item when fieldName == "notes":
|
||||
checkValue = item.Notes;
|
||||
return true;
|
||||
case Machine item when fieldName == "playedcount":
|
||||
checkValue = item.PlayedCount;
|
||||
return true;
|
||||
case Machine item when fieldName == "playedtime":
|
||||
checkValue = item.PlayedTime;
|
||||
return true;
|
||||
case Machine item when fieldName == "players":
|
||||
checkValue = item.Players;
|
||||
return true;
|
||||
case Machine item when fieldName == "publisher":
|
||||
checkValue = item.Publisher;
|
||||
return true;
|
||||
case Machine item when fieldName == "rebuildto":
|
||||
checkValue = item.RebuildTo;
|
||||
return true;
|
||||
case Machine item when fieldName == "releasenumber":
|
||||
checkValue = item.ReleaseNumber;
|
||||
return true;
|
||||
case Machine item when fieldName == "romof":
|
||||
checkValue = item.RomOf;
|
||||
return true;
|
||||
case Machine item when fieldName == "rotation":
|
||||
checkValue = item.Rotation;
|
||||
return true;
|
||||
case Machine item when fieldName == "runnable":
|
||||
checkValue = item.Runnable?.AsStringValue();
|
||||
return true;
|
||||
case Machine item when fieldName == "sampleof":
|
||||
checkValue = item.SampleOf;
|
||||
return true;
|
||||
case Machine item when fieldName == "savetype":
|
||||
checkValue = item.SaveType;
|
||||
return true;
|
||||
case Machine item when fieldName == "sourcefile":
|
||||
checkValue = item.SourceFile;
|
||||
return true;
|
||||
case Machine item when fieldName == "sourcerom":
|
||||
checkValue = item.SourceRom;
|
||||
return true;
|
||||
case Machine item when fieldName == "status":
|
||||
checkValue = item.Status;
|
||||
return true;
|
||||
case Machine item when fieldName == "supported":
|
||||
checkValue = item.Supported?.AsStringValue();
|
||||
return true;
|
||||
case Machine item when fieldName == "system":
|
||||
checkValue = item.System;
|
||||
return true;
|
||||
case Machine item when fieldName == "tags":
|
||||
checkValue = item.Tags;
|
||||
return true;
|
||||
case Machine item when fieldName == "url":
|
||||
checkValue = item.Url;
|
||||
return true;
|
||||
case Machine item when fieldName == "year":
|
||||
checkValue = item.Year;
|
||||
return true;
|
||||
|
||||
case Media item when fieldName == "md5":
|
||||
checkValue = item.MD5;
|
||||
|
||||
@@ -274,18 +274,102 @@ namespace SabreTools.Metadata
|
||||
}
|
||||
else if (self is Machine selfMachine && other is Machine otherMachine)
|
||||
{
|
||||
if (selfMachine.Board != otherMachine.Board)
|
||||
return false;
|
||||
if (selfMachine.Buttons != otherMachine.Buttons)
|
||||
return false;
|
||||
if (selfMachine.CloneOf != otherMachine.CloneOf)
|
||||
return false;
|
||||
if (selfMachine.CloneOfId != otherMachine.CloneOfId)
|
||||
return false;
|
||||
if (selfMachine.Company != otherMachine.Company)
|
||||
return false;
|
||||
if (selfMachine.Control != otherMachine.Control)
|
||||
return false;
|
||||
if (selfMachine.Country != otherMachine.Country)
|
||||
return false;
|
||||
if (selfMachine.Description != otherMachine.Description)
|
||||
return false;
|
||||
if (selfMachine.DirName != otherMachine.DirName)
|
||||
return false;
|
||||
if (selfMachine.DisplayCount != otherMachine.DisplayCount)
|
||||
return false;
|
||||
if (selfMachine.DisplayType != otherMachine.DisplayType)
|
||||
return false;
|
||||
if (selfMachine.DuplicateID != otherMachine.DuplicateID)
|
||||
return false;
|
||||
if (selfMachine.Emulator != otherMachine.Emulator)
|
||||
return false;
|
||||
if (selfMachine.Extra != otherMachine.Extra)
|
||||
return false;
|
||||
if (selfMachine.Favorite != otherMachine.Favorite)
|
||||
return false;
|
||||
if (selfMachine.GenMSXID != otherMachine.GenMSXID)
|
||||
return false;
|
||||
if (selfMachine.Hash != otherMachine.Hash)
|
||||
return false;
|
||||
if (selfMachine.History != otherMachine.History)
|
||||
return false;
|
||||
if (selfMachine.Id != otherMachine.Id)
|
||||
return false;
|
||||
if (selfMachine.Im1CRC != otherMachine.Im1CRC)
|
||||
return false;
|
||||
if (selfMachine.Im2CRC != otherMachine.Im2CRC)
|
||||
return false;
|
||||
if (selfMachine.ImageNumber != otherMachine.ImageNumber)
|
||||
return false;
|
||||
if (selfMachine.IsBios != otherMachine.IsBios)
|
||||
return false;
|
||||
if (selfMachine.IsDevice != otherMachine.IsDevice)
|
||||
return false;
|
||||
if (selfMachine.IsMechanical != otherMachine.IsMechanical)
|
||||
return false;
|
||||
if (selfMachine.Language != otherMachine.Language)
|
||||
return false;
|
||||
if (selfMachine.Location != otherMachine.Location)
|
||||
return false;
|
||||
if (selfMachine.Manufacturer != otherMachine.Manufacturer)
|
||||
return false;
|
||||
if (selfMachine.Notes != otherMachine.Notes)
|
||||
return false;
|
||||
if (selfMachine.PlayedCount != otherMachine.PlayedCount)
|
||||
return false;
|
||||
if (selfMachine.PlayedTime != otherMachine.PlayedTime)
|
||||
return false;
|
||||
if (selfMachine.Players != otherMachine.Players)
|
||||
return false;
|
||||
if (selfMachine.Publisher != otherMachine.Publisher)
|
||||
return false;
|
||||
if (selfMachine.RebuildTo != otherMachine.RebuildTo)
|
||||
return false;
|
||||
if (selfMachine.ReleaseNumber != otherMachine.ReleaseNumber)
|
||||
return false;
|
||||
if (selfMachine.RomOf != otherMachine.RomOf)
|
||||
return false;
|
||||
if (selfMachine.Rotation != otherMachine.Rotation)
|
||||
return false;
|
||||
if (selfMachine.Runnable != otherMachine.Runnable)
|
||||
return false;
|
||||
if (selfMachine.SampleOf != otherMachine.SampleOf)
|
||||
return false;
|
||||
if (selfMachine.SaveType != otherMachine.SaveType)
|
||||
return false;
|
||||
if (selfMachine.SourceFile != otherMachine.SourceFile)
|
||||
return false;
|
||||
if (selfMachine.SourceRom != otherMachine.SourceRom)
|
||||
return false;
|
||||
if (selfMachine.Status != otherMachine.Status)
|
||||
return false;
|
||||
if (selfMachine.Supported != otherMachine.Supported)
|
||||
return false;
|
||||
if (selfMachine.System != otherMachine.System)
|
||||
return false;
|
||||
if (selfMachine.Tags != otherMachine.Tags)
|
||||
return false;
|
||||
if (selfMachine.Url != otherMachine.Url)
|
||||
return false;
|
||||
if (selfMachine.Year != otherMachine.Year)
|
||||
return false;
|
||||
}
|
||||
else if (self is Media selfMedia && other is Media otherMedia)
|
||||
{
|
||||
|
||||
@@ -59,25 +59,25 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Name = parent.Name,
|
||||
Title = item.Name,
|
||||
Emulator = parent.ReadString(Data.Models.Metadata.Machine.EmulatorKey),
|
||||
CloneOf = parent.ReadString(Data.Models.Metadata.Machine.CloneOfKey),
|
||||
Year = parent.ReadString(Data.Models.Metadata.Machine.YearKey),
|
||||
Manufacturer = parent.ReadString(Data.Models.Metadata.Machine.ManufacturerKey),
|
||||
Emulator = parent.Emulator,
|
||||
CloneOf = parent.CloneOf,
|
||||
Year = parent.Year,
|
||||
Manufacturer = parent.Manufacturer,
|
||||
Category = parent.ReadString(Data.Models.Metadata.Machine.CategoryKey),
|
||||
Players = parent.ReadString(Data.Models.Metadata.Machine.PlayersKey),
|
||||
Rotation = parent.ReadString(Data.Models.Metadata.Machine.RotationKey),
|
||||
Control = parent.ReadString(Data.Models.Metadata.Machine.ControlKey),
|
||||
Status = parent.ReadString(Data.Models.Metadata.Machine.StatusKey),
|
||||
DisplayCount = parent.ReadString(Data.Models.Metadata.Machine.DisplayCountKey),
|
||||
DisplayType = parent.ReadString(Data.Models.Metadata.Machine.DisplayTypeKey),
|
||||
Players = parent.Players,
|
||||
Rotation = parent.Rotation,
|
||||
Control = parent.Control,
|
||||
Status = parent.Status,
|
||||
DisplayCount = parent.DisplayCount,
|
||||
DisplayType = parent.DisplayType,
|
||||
AltRomname = item.ReadString(Data.Models.Metadata.Rom.AltRomnameKey),
|
||||
AltTitle = item.ReadString(Data.Models.Metadata.Rom.AltTitleKey),
|
||||
Extra = parent.ReadString(Data.Models.Metadata.Machine.ExtraKey),
|
||||
Buttons = parent.ReadString(Data.Models.Metadata.Machine.ButtonsKey),
|
||||
Favorite = parent.ReadString(Data.Models.Metadata.Machine.FavoriteKey),
|
||||
Tags = parent.ReadString(Data.Models.Metadata.Machine.TagsKey),
|
||||
PlayedCount = parent.ReadString(Data.Models.Metadata.Machine.PlayedCountKey),
|
||||
PlayedTime = parent.ReadString(Data.Models.Metadata.Machine.PlayedTimeKey),
|
||||
Extra = parent.Extra,
|
||||
Buttons = parent.Buttons,
|
||||
Favorite = parent.Favorite,
|
||||
Tags = parent.Tags,
|
||||
PlayedCount = parent.PlayedCount,
|
||||
PlayedTime = parent.PlayedTime,
|
||||
FileIsAvailable = item.FileIsAvailable,
|
||||
};
|
||||
return row;
|
||||
|
||||
@@ -48,23 +48,23 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var machine = new Data.Models.Metadata.Machine
|
||||
{
|
||||
Name = item.Name,
|
||||
[Data.Models.Metadata.Machine.EmulatorKey] = item.Emulator,
|
||||
[Data.Models.Metadata.Machine.CloneOfKey] = item.CloneOf,
|
||||
[Data.Models.Metadata.Machine.YearKey] = item.Year,
|
||||
[Data.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer,
|
||||
Emulator = item.Emulator,
|
||||
CloneOf = item.CloneOf,
|
||||
Year = item.Year,
|
||||
Manufacturer = item.Manufacturer,
|
||||
[Data.Models.Metadata.Machine.CategoryKey] = item.Category,
|
||||
[Data.Models.Metadata.Machine.PlayersKey] = item.Players,
|
||||
[Data.Models.Metadata.Machine.RotationKey] = item.Rotation,
|
||||
[Data.Models.Metadata.Machine.ControlKey] = item.Control,
|
||||
[Data.Models.Metadata.Machine.StatusKey] = item.Status,
|
||||
[Data.Models.Metadata.Machine.DisplayCountKey] = item.DisplayCount,
|
||||
[Data.Models.Metadata.Machine.DisplayTypeKey] = item.DisplayType,
|
||||
[Data.Models.Metadata.Machine.ExtraKey] = item.Extra,
|
||||
[Data.Models.Metadata.Machine.ButtonsKey] = item.Buttons,
|
||||
[Data.Models.Metadata.Machine.FavoriteKey] = item.Favorite,
|
||||
[Data.Models.Metadata.Machine.TagsKey] = item.Tags,
|
||||
[Data.Models.Metadata.Machine.PlayedCountKey] = item.PlayedCount,
|
||||
[Data.Models.Metadata.Machine.PlayedTimeKey] = item.PlayedTime,
|
||||
Players = item.Players,
|
||||
Rotation = item.Rotation,
|
||||
Control = item.Control,
|
||||
Status = item.Status,
|
||||
DisplayCount = item.DisplayCount,
|
||||
DisplayType = item.DisplayType,
|
||||
Extra = item.Extra,
|
||||
Buttons = item.Buttons,
|
||||
Favorite = item.Favorite,
|
||||
Tags = item.Tags,
|
||||
PlayedCount = item.PlayedCount,
|
||||
PlayedTime = item.PlayedTime,
|
||||
[Data.Models.Metadata.Machine.RomKey] = new Data.Models.Metadata.Rom[] { ConvertToInternalModel(item) },
|
||||
};
|
||||
return machine;
|
||||
|
||||
@@ -72,12 +72,12 @@ namespace SabreTools.Serialization.CrossModel
|
||||
gameBase.Name = item.Name;
|
||||
gameBase.Description = item.Description;
|
||||
// gameBase.DriverStatus = item.ReadString(Data.Models.Metadata.Machine.DriverKey); // TODO: Needs metadata mapping
|
||||
gameBase.Year = item.ReadString(Data.Models.Metadata.Machine.YearKey);
|
||||
gameBase.Manufacturer = item.ReadString(Data.Models.Metadata.Machine.ManufacturerKey);
|
||||
gameBase.Year = item.Year;
|
||||
gameBase.Manufacturer = item.Manufacturer;
|
||||
gameBase.Category = item.ReadString(Data.Models.Metadata.Machine.CategoryKey);
|
||||
gameBase.CloneOf = item.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
gameBase.RomOf = item.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
gameBase.SampleOf = item.ReadString(Data.Models.Metadata.Machine.SampleOfKey);
|
||||
gameBase.CloneOf = item.CloneOf;
|
||||
gameBase.RomOf = item.RomOf;
|
||||
gameBase.SampleOf = item.SampleOf;
|
||||
|
||||
var releases = item.Read<Data.Models.Metadata.Release[]>(Data.Models.Metadata.Machine.ReleaseKey);
|
||||
if (releases is not null && releases.Length > 0)
|
||||
|
||||
@@ -67,12 +67,12 @@ namespace SabreTools.Serialization.CrossModel
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
// [Data.Models.Metadata.Machine.DriverKey] = item.DriverStatus, // TODO: Needs metadata mapping
|
||||
[Data.Models.Metadata.Machine.YearKey] = item.Year,
|
||||
[Data.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer,
|
||||
Year = item.Year,
|
||||
Manufacturer = item.Manufacturer,
|
||||
[Data.Models.Metadata.Machine.CategoryKey] = item.Category,
|
||||
[Data.Models.Metadata.Machine.CloneOfKey] = item.CloneOf,
|
||||
[Data.Models.Metadata.Machine.RomOfKey] = item.RomOf,
|
||||
[Data.Models.Metadata.Machine.SampleOfKey] = item.SampleOf,
|
||||
CloneOf = item.CloneOf,
|
||||
RomOf = item.RomOf,
|
||||
SampleOf = item.SampleOf,
|
||||
};
|
||||
|
||||
if (item.Release is not null && item.Release.Length > 0)
|
||||
|
||||
@@ -44,18 +44,18 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var machine = new Machine
|
||||
{
|
||||
Name = item.Name,
|
||||
SourceFile = item.ReadString(Data.Models.Metadata.Machine.SourceFileKey),
|
||||
SourceFile = item.SourceFile,
|
||||
IsBios = item.IsBios,
|
||||
IsDevice = item.IsDevice,
|
||||
IsMechanical = item.IsMechanical,
|
||||
Runnable = item.Runnable,
|
||||
CloneOf = item.ReadString(Data.Models.Metadata.Machine.CloneOfKey),
|
||||
RomOf = item.ReadString(Data.Models.Metadata.Machine.RomOfKey),
|
||||
SampleOf = item.ReadString(Data.Models.Metadata.Machine.SampleOfKey),
|
||||
CloneOf = item.CloneOf,
|
||||
RomOf = item.RomOf,
|
||||
SampleOf = item.SampleOf,
|
||||
Description = item.Description,
|
||||
Year = item.ReadString(Data.Models.Metadata.Machine.YearKey),
|
||||
Manufacturer = item.ReadString(Data.Models.Metadata.Machine.ManufacturerKey),
|
||||
History = item.ReadString(Data.Models.Metadata.Machine.HistoryKey),
|
||||
Year = item.Year,
|
||||
Manufacturer = item.Manufacturer,
|
||||
History = item.History,
|
||||
};
|
||||
|
||||
var biosSets = item.Read<Data.Models.Metadata.BiosSet[]>(Data.Models.Metadata.Machine.BiosSetKey);
|
||||
|
||||
@@ -47,18 +47,18 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var machine = new Data.Models.Metadata.Machine
|
||||
{
|
||||
Name = item.Name,
|
||||
[Data.Models.Metadata.Machine.SourceFileKey] = item.SourceFile,
|
||||
SourceFile = item.SourceFile,
|
||||
IsBios = item.IsBios,
|
||||
IsDevice = item.IsDevice,
|
||||
IsMechanical = item.IsMechanical,
|
||||
Runnable = item.Runnable,
|
||||
[Data.Models.Metadata.Machine.CloneOfKey] = item.CloneOf,
|
||||
[Data.Models.Metadata.Machine.RomOfKey] = item.RomOf,
|
||||
[Data.Models.Metadata.Machine.SampleOfKey] = item.SampleOf,
|
||||
CloneOf = item.CloneOf,
|
||||
RomOf = item.RomOf,
|
||||
SampleOf = item.SampleOf,
|
||||
Description = item.Description,
|
||||
[Data.Models.Metadata.Machine.YearKey] = item.Year,
|
||||
[Data.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer,
|
||||
[Data.Models.Metadata.Machine.HistoryKey] = item.History,
|
||||
Year = item.Year,
|
||||
Manufacturer = item.Manufacturer,
|
||||
History = item.History,
|
||||
};
|
||||
|
||||
if (item.BiosSet is not null && item.BiosSet.Length > 0)
|
||||
|
||||
@@ -121,23 +121,23 @@ namespace SabreTools.Serialization.CrossModel
|
||||
GameBase gameBase = game ? new Game() : new Machine();
|
||||
|
||||
gameBase.Name = item.Name;
|
||||
gameBase.SourceFile = item.ReadString(Data.Models.Metadata.Machine.SourceFileKey);
|
||||
gameBase.SourceFile = item.SourceFile;
|
||||
gameBase.IsBios = item.IsBios;
|
||||
gameBase.IsDevice = item.IsDevice;
|
||||
gameBase.IsMechanical = item.IsMechanical;
|
||||
gameBase.CloneOf = item.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
gameBase.RomOf = item.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
gameBase.SampleOf = item.ReadString(Data.Models.Metadata.Machine.SampleOfKey);
|
||||
gameBase.Board = item.ReadString(Data.Models.Metadata.Machine.BoardKey);
|
||||
gameBase.RebuildTo = item.ReadString(Data.Models.Metadata.Machine.RebuildToKey);
|
||||
gameBase.Id = item.ReadString(Data.Models.Metadata.Machine.IdKey);
|
||||
gameBase.CloneOfId = item.ReadString(Data.Models.Metadata.Machine.CloneOfIdKey);
|
||||
gameBase.CloneOf = item.CloneOf;
|
||||
gameBase.RomOf = item.RomOf;
|
||||
gameBase.SampleOf = item.SampleOf;
|
||||
gameBase.Board = item.Board;
|
||||
gameBase.RebuildTo = item.RebuildTo;
|
||||
gameBase.Id = item.Id;
|
||||
gameBase.CloneOfId = item.CloneOfId;
|
||||
gameBase.Runnable = item.Runnable;
|
||||
gameBase.Comment = item.ReadStringArray(Data.Models.Metadata.Machine.CommentKey);
|
||||
gameBase.Description = item.Description;
|
||||
gameBase.Year = item.ReadString(Data.Models.Metadata.Machine.YearKey);
|
||||
gameBase.Manufacturer = item.ReadString(Data.Models.Metadata.Machine.ManufacturerKey);
|
||||
gameBase.Publisher = item.ReadString(Data.Models.Metadata.Machine.PublisherKey);
|
||||
gameBase.Year = item.Year;
|
||||
gameBase.Manufacturer = item.Manufacturer;
|
||||
gameBase.Publisher = item.Publisher;
|
||||
gameBase.Category = item.ReadStringArray(Data.Models.Metadata.Machine.CategoryKey);
|
||||
|
||||
var trurip = item.Read<Trurip>(Data.Models.Metadata.Machine.TruripKey);
|
||||
|
||||
@@ -127,23 +127,23 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var machine = new Data.Models.Metadata.Machine
|
||||
{
|
||||
Name = machineName,
|
||||
[Data.Models.Metadata.Machine.SourceFileKey] = item.SourceFile,
|
||||
SourceFile = item.SourceFile,
|
||||
IsBios = item.IsBios,
|
||||
IsDevice = item.IsDevice,
|
||||
IsMechanical = item.IsMechanical,
|
||||
[Data.Models.Metadata.Machine.CloneOfKey] = item.CloneOf,
|
||||
[Data.Models.Metadata.Machine.RomOfKey] = item.RomOf,
|
||||
[Data.Models.Metadata.Machine.SampleOfKey] = item.SampleOf,
|
||||
[Data.Models.Metadata.Machine.BoardKey] = item.Board,
|
||||
[Data.Models.Metadata.Machine.RebuildToKey] = item.RebuildTo,
|
||||
[Data.Models.Metadata.Machine.IdKey] = item.Id,
|
||||
[Data.Models.Metadata.Machine.CloneOfIdKey] = item.CloneOfId,
|
||||
CloneOf = item.CloneOf,
|
||||
RomOf = item.RomOf,
|
||||
SampleOf = item.SampleOf,
|
||||
Board = item.Board,
|
||||
RebuildTo = item.RebuildTo,
|
||||
Id = item.Id,
|
||||
CloneOfId = item.CloneOfId,
|
||||
Runnable = item.Runnable,
|
||||
[Data.Models.Metadata.Machine.CommentKey] = item.Comment,
|
||||
Description = item.Description,
|
||||
[Data.Models.Metadata.Machine.YearKey] = item.Year,
|
||||
[Data.Models.Metadata.Machine.ManufacturerKey] = item.Manufacturer,
|
||||
[Data.Models.Metadata.Machine.PublisherKey] = item.Publisher,
|
||||
Year = item.Year,
|
||||
Manufacturer = item.Manufacturer,
|
||||
Publisher = item.Publisher,
|
||||
[Data.Models.Metadata.Machine.CategoryKey] = item.Category,
|
||||
[Data.Models.Metadata.Machine.TruripKey] = item.Trurip,
|
||||
};
|
||||
|
||||
@@ -82,18 +82,18 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var game = new Game
|
||||
{
|
||||
ImageNumber = item.ReadString(Data.Models.Metadata.Machine.ImageNumberKey),
|
||||
ReleaseNumber = item.ReadString(Data.Models.Metadata.Machine.ReleaseNumberKey),
|
||||
ImageNumber = item.ImageNumber,
|
||||
ReleaseNumber = item.ReleaseNumber,
|
||||
Title = item.Name,
|
||||
SaveType = item.ReadString(Data.Models.Metadata.Machine.SaveTypeKey),
|
||||
Publisher = item.ReadString(Data.Models.Metadata.Machine.PublisherKey),
|
||||
Location = item.ReadString(Data.Models.Metadata.Machine.LocationKey),
|
||||
SourceRom = item.ReadString(Data.Models.Metadata.Machine.SourceRomKey),
|
||||
Language = item.ReadString(Data.Models.Metadata.Machine.LanguageKey),
|
||||
Im1CRC = item.ReadString(Data.Models.Metadata.Machine.Im1CRCKey),
|
||||
Im2CRC = item.ReadString(Data.Models.Metadata.Machine.Im2CRCKey),
|
||||
SaveType = item.SaveType,
|
||||
Publisher = item.Publisher,
|
||||
Location = item.Location,
|
||||
SourceRom = item.SourceRom,
|
||||
Language = item.Language,
|
||||
Im1CRC = item.Im1CRC,
|
||||
Im2CRC = item.Im2CRC,
|
||||
Comment = item.ReadString(Data.Models.Metadata.Machine.CommentKey),
|
||||
DuplicateID = item.ReadString(Data.Models.Metadata.Machine.DuplicateIDKey),
|
||||
DuplicateID = item.DuplicateID,
|
||||
};
|
||||
|
||||
var roms = item.Read<Data.Models.Metadata.Rom[]>(Data.Models.Metadata.Machine.RomKey);
|
||||
|
||||
@@ -65,18 +65,18 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var machine = new Data.Models.Metadata.Machine
|
||||
{
|
||||
[Data.Models.Metadata.Machine.ImageNumberKey] = item.ImageNumber,
|
||||
[Data.Models.Metadata.Machine.ReleaseNumberKey] = item.ReleaseNumber,
|
||||
ImageNumber = item.ImageNumber,
|
||||
ReleaseNumber = item.ReleaseNumber,
|
||||
Name = item.Title,
|
||||
[Data.Models.Metadata.Machine.SaveTypeKey] = item.SaveType,
|
||||
[Data.Models.Metadata.Machine.PublisherKey] = item.Publisher,
|
||||
[Data.Models.Metadata.Machine.LocationKey] = item.Location,
|
||||
[Data.Models.Metadata.Machine.SourceRomKey] = item.SourceRom,
|
||||
[Data.Models.Metadata.Machine.LanguageKey] = item.Language,
|
||||
[Data.Models.Metadata.Machine.Im1CRCKey] = item.Im1CRC,
|
||||
[Data.Models.Metadata.Machine.Im2CRCKey] = item.Im2CRC,
|
||||
SaveType = item.SaveType,
|
||||
Publisher = item.Publisher,
|
||||
Location = item.Location,
|
||||
SourceRom = item.SourceRom,
|
||||
Language = item.Language,
|
||||
Im1CRC = item.Im1CRC,
|
||||
Im2CRC = item.Im2CRC,
|
||||
[Data.Models.Metadata.Machine.CommentKey] = item.Comment,
|
||||
[Data.Models.Metadata.Machine.DuplicateIDKey] = item.DuplicateID,
|
||||
DuplicateID = item.DuplicateID,
|
||||
};
|
||||
|
||||
if (item.Files?.RomCRC is not null && item.Files.RomCRC.Length > 0)
|
||||
|
||||
@@ -41,11 +41,11 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var game = new Software
|
||||
{
|
||||
Title = item.Name,
|
||||
GenMSXID = item.ReadString(Data.Models.Metadata.Machine.GenMSXIDKey),
|
||||
System = item.ReadString(Data.Models.Metadata.Machine.SystemKey),
|
||||
Company = item.ReadString(Data.Models.Metadata.Machine.CompanyKey),
|
||||
Year = item.ReadString(Data.Models.Metadata.Machine.YearKey),
|
||||
Country = item.ReadString(Data.Models.Metadata.Machine.CountryKey),
|
||||
GenMSXID = item.GenMSXID,
|
||||
System = item.System,
|
||||
Company = item.Company,
|
||||
Year = item.Year,
|
||||
Country = item.Country,
|
||||
};
|
||||
|
||||
var dumps = item.Read<Data.Models.Metadata.Dump[]>(Data.Models.Metadata.Machine.DumpKey);
|
||||
|
||||
@@ -45,11 +45,11 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var machine = new Data.Models.Metadata.Machine
|
||||
{
|
||||
Name = item.Title,
|
||||
[Data.Models.Metadata.Machine.GenMSXIDKey] = item.GenMSXID,
|
||||
[Data.Models.Metadata.Machine.SystemKey] = item.System,
|
||||
[Data.Models.Metadata.Machine.CompanyKey] = item.Company,
|
||||
[Data.Models.Metadata.Machine.YearKey] = item.Year,
|
||||
[Data.Models.Metadata.Machine.CountryKey] = item.Country,
|
||||
GenMSXID = item.GenMSXID,
|
||||
System = item.System,
|
||||
Company = item.Company,
|
||||
Year = item.Year,
|
||||
Country = item.Country,
|
||||
};
|
||||
|
||||
if (item.Dump is not null && item.Dump.Length > 0)
|
||||
|
||||
@@ -98,14 +98,14 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var row = new Rom
|
||||
{
|
||||
ParentName = parent.ReadString(Data.Models.Metadata.Machine.CloneOfKey),
|
||||
ParentName = parent.CloneOf,
|
||||
//ParentDescription = parent.ReadString(Data.Models.Metadata.Machine.ParentDescriptionKey), // This is unmappable
|
||||
GameName = parent.Name,
|
||||
GameDescription = parent.Description,
|
||||
RomName = item.Name,
|
||||
RomCRC = item.ReadString(Data.Models.Metadata.Rom.CRCKey),
|
||||
RomSize = item.Size,
|
||||
RomOf = parent.ReadString(Data.Models.Metadata.Machine.RomOfKey),
|
||||
RomOf = parent.RomOf,
|
||||
MergeName = item.ReadString(Data.Models.Metadata.Rom.MergeKey),
|
||||
};
|
||||
return row;
|
||||
|
||||
@@ -70,8 +70,8 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var machine = new Data.Models.Metadata.Machine
|
||||
{
|
||||
[Data.Models.Metadata.Machine.RomOfKey] = item.RomOf,
|
||||
[Data.Models.Metadata.Machine.CloneOfKey] = item.ParentName,
|
||||
RomOf = item.RomOf,
|
||||
CloneOf = item.ParentName,
|
||||
//[Data.Models.Metadata.Machine.ParentDescriptionKey] = item.ParentDescription, // This is unmappable
|
||||
Name = item.GameName,
|
||||
Description = item.GameDescription,
|
||||
|
||||
@@ -43,12 +43,12 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var software = new Software
|
||||
{
|
||||
Name = item.Name,
|
||||
CloneOf = item.ReadString(Data.Models.Metadata.Machine.CloneOfKey),
|
||||
CloneOf = item.CloneOf,
|
||||
Supported = item.Supported,
|
||||
Description = item.Description,
|
||||
Year = item.ReadString(Data.Models.Metadata.Machine.YearKey),
|
||||
Publisher = item.ReadString(Data.Models.Metadata.Machine.PublisherKey),
|
||||
Notes = item.ReadString(Data.Models.Metadata.Machine.NotesKey),
|
||||
Year = item.Year,
|
||||
Publisher = item.Publisher,
|
||||
Notes = item.Notes,
|
||||
};
|
||||
|
||||
var infos = item.Read<Data.Models.Metadata.Info[]>(Data.Models.Metadata.Machine.InfoKey);
|
||||
|
||||
@@ -47,12 +47,12 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var machine = new Data.Models.Metadata.Machine
|
||||
{
|
||||
Name = item.Name,
|
||||
[Data.Models.Metadata.Machine.CloneOfKey] = item.CloneOf,
|
||||
CloneOf = item.CloneOf,
|
||||
Supported = item.Supported,
|
||||
Description = item.Description,
|
||||
[Data.Models.Metadata.Machine.YearKey] = item.Year,
|
||||
[Data.Models.Metadata.Machine.PublisherKey] = item.Publisher,
|
||||
[Data.Models.Metadata.Machine.NotesKey] = item.Notes,
|
||||
Year = item.Year,
|
||||
Publisher = item.Publisher,
|
||||
Notes = item.Notes,
|
||||
};
|
||||
|
||||
if (item.Info is not null && item.Info.Length > 0)
|
||||
|
||||
Reference in New Issue
Block a user