mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-14 18:23:08 +00:00
142 lines
8.2 KiB
C#
142 lines
8.2 KiB
C#
using Xunit;
|
|
|
|
namespace SabreTools.Metadata.DatItems.Test
|
|
{
|
|
public class ExtensionsTests
|
|
{
|
|
#region String to Enum
|
|
|
|
[Theory]
|
|
[InlineData(null, Data.Models.Metadata.ItemType.NULL)]
|
|
[InlineData("adjuster", Data.Models.Metadata.ItemType.Adjuster)]
|
|
[InlineData("analog", Data.Models.Metadata.ItemType.Analog)]
|
|
[InlineData("archive", Data.Models.Metadata.ItemType.Archive)]
|
|
[InlineData("biosset", Data.Models.Metadata.ItemType.BiosSet)]
|
|
[InlineData("blank", Data.Models.Metadata.ItemType.Blank)]
|
|
[InlineData("chip", Data.Models.Metadata.ItemType.Chip)]
|
|
[InlineData("condition", Data.Models.Metadata.ItemType.Condition)]
|
|
[InlineData("configuration", Data.Models.Metadata.ItemType.Configuration)]
|
|
[InlineData("conflocation", Data.Models.Metadata.ItemType.ConfLocation)]
|
|
[InlineData("confsetting", Data.Models.Metadata.ItemType.ConfSetting)]
|
|
[InlineData("control", Data.Models.Metadata.ItemType.Control)]
|
|
[InlineData("dataarea", Data.Models.Metadata.ItemType.DataArea)]
|
|
[InlineData("device", Data.Models.Metadata.ItemType.Device)]
|
|
[InlineData("deviceref", Data.Models.Metadata.ItemType.DeviceRef)]
|
|
[InlineData("device_ref", Data.Models.Metadata.ItemType.DeviceRef)]
|
|
[InlineData("diplocation", Data.Models.Metadata.ItemType.DipLocation)]
|
|
[InlineData("dipswitch", Data.Models.Metadata.ItemType.DipSwitch)]
|
|
[InlineData("dipvalue", Data.Models.Metadata.ItemType.DipValue)]
|
|
[InlineData("disk", Data.Models.Metadata.ItemType.Disk)]
|
|
[InlineData("diskarea", Data.Models.Metadata.ItemType.DiskArea)]
|
|
[InlineData("display", Data.Models.Metadata.ItemType.Display)]
|
|
[InlineData("driver", Data.Models.Metadata.ItemType.Driver)]
|
|
[InlineData("extension", Data.Models.Metadata.ItemType.Extension)]
|
|
[InlineData("feature", Data.Models.Metadata.ItemType.Feature)]
|
|
[InlineData("file", Data.Models.Metadata.ItemType.File)]
|
|
[InlineData("info", Data.Models.Metadata.ItemType.Info)]
|
|
[InlineData("input", Data.Models.Metadata.ItemType.Input)]
|
|
[InlineData("instance", Data.Models.Metadata.ItemType.Instance)]
|
|
[InlineData("media", Data.Models.Metadata.ItemType.Media)]
|
|
[InlineData("part", Data.Models.Metadata.ItemType.Part)]
|
|
[InlineData("partfeature", Data.Models.Metadata.ItemType.PartFeature)]
|
|
[InlineData("part_feature", Data.Models.Metadata.ItemType.PartFeature)]
|
|
[InlineData("port", Data.Models.Metadata.ItemType.Port)]
|
|
[InlineData("ramoption", Data.Models.Metadata.ItemType.RamOption)]
|
|
[InlineData("ram_option", Data.Models.Metadata.ItemType.RamOption)]
|
|
[InlineData("release", Data.Models.Metadata.ItemType.Release)]
|
|
[InlineData("releasedetails", Data.Models.Metadata.ItemType.ReleaseDetails)]
|
|
[InlineData("release_details", Data.Models.Metadata.ItemType.ReleaseDetails)]
|
|
[InlineData("rom", Data.Models.Metadata.ItemType.Rom)]
|
|
[InlineData("sample", Data.Models.Metadata.ItemType.Sample)]
|
|
[InlineData("serials", Data.Models.Metadata.ItemType.Serials)]
|
|
[InlineData("sharedfeat", Data.Models.Metadata.ItemType.SharedFeat)]
|
|
[InlineData("shared_feat", Data.Models.Metadata.ItemType.SharedFeat)]
|
|
[InlineData("sharedfeature", Data.Models.Metadata.ItemType.SharedFeat)]
|
|
[InlineData("shared_feature", Data.Models.Metadata.ItemType.SharedFeat)]
|
|
[InlineData("slot", Data.Models.Metadata.ItemType.Slot)]
|
|
[InlineData("slotoption", Data.Models.Metadata.ItemType.SlotOption)]
|
|
[InlineData("slot_option", Data.Models.Metadata.ItemType.SlotOption)]
|
|
[InlineData("softwarelist", Data.Models.Metadata.ItemType.SoftwareList)]
|
|
[InlineData("software_list", Data.Models.Metadata.ItemType.SoftwareList)]
|
|
[InlineData("sound", Data.Models.Metadata.ItemType.Sound)]
|
|
[InlineData("sourcedetails", Data.Models.Metadata.ItemType.SourceDetails)]
|
|
[InlineData("source_details", Data.Models.Metadata.ItemType.SourceDetails)]
|
|
public void AsItemTypeTest(string? field, Data.Models.Metadata.ItemType expected)
|
|
{
|
|
Data.Models.Metadata.ItemType actual = field.AsItemType();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(null, MachineType.None)]
|
|
[InlineData("none", MachineType.None)]
|
|
[InlineData("bios", MachineType.Bios)]
|
|
[InlineData("dev", MachineType.Device)]
|
|
[InlineData("device", MachineType.Device)]
|
|
[InlineData("mech", MachineType.Mechanical)]
|
|
[InlineData("mechanical", MachineType.Mechanical)]
|
|
public void AsMachineTypeTest(string? field, MachineType expected)
|
|
{
|
|
MachineType actual = field.AsMachineType();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Enum to String
|
|
|
|
[Theory]
|
|
[InlineData(Data.Models.Metadata.ItemType.NULL, null)]
|
|
[InlineData(Data.Models.Metadata.ItemType.Adjuster, "adjuster")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Analog, "analog")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Archive, "archive")]
|
|
[InlineData(Data.Models.Metadata.ItemType.BiosSet, "biosset")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Blank, "blank")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Chip, "chip")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Condition, "condition")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Configuration, "configuration")]
|
|
[InlineData(Data.Models.Metadata.ItemType.ConfLocation, "conflocation")]
|
|
[InlineData(Data.Models.Metadata.ItemType.ConfSetting, "confsetting")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Control, "control")]
|
|
[InlineData(Data.Models.Metadata.ItemType.DataArea, "dataarea")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Device, "device")]
|
|
[InlineData(Data.Models.Metadata.ItemType.DeviceRef, "device_ref")]
|
|
[InlineData(Data.Models.Metadata.ItemType.DipLocation, "diplocation")]
|
|
[InlineData(Data.Models.Metadata.ItemType.DipSwitch, "dipswitch")]
|
|
[InlineData(Data.Models.Metadata.ItemType.DipValue, "dipvalue")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Disk, "disk")]
|
|
[InlineData(Data.Models.Metadata.ItemType.DiskArea, "diskarea")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Display, "display")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Driver, "driver")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Extension, "extension")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Feature, "feature")]
|
|
[InlineData(Data.Models.Metadata.ItemType.File, "file")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Info, "info")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Input, "input")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Instance, "instance")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Media, "media")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Part, "part")]
|
|
[InlineData(Data.Models.Metadata.ItemType.PartFeature, "part_feature")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Port, "port")]
|
|
[InlineData(Data.Models.Metadata.ItemType.RamOption, "ramoption")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Release, "release")]
|
|
[InlineData(Data.Models.Metadata.ItemType.ReleaseDetails, "release_details")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Rom, "rom")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Sample, "sample")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Serials, "serials")]
|
|
[InlineData(Data.Models.Metadata.ItemType.SharedFeat, "sharedfeat")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Slot, "slot")]
|
|
[InlineData(Data.Models.Metadata.ItemType.SlotOption, "slotoption")]
|
|
[InlineData(Data.Models.Metadata.ItemType.SoftwareList, "softwarelist")]
|
|
[InlineData(Data.Models.Metadata.ItemType.Sound, "sound")]
|
|
[InlineData(Data.Models.Metadata.ItemType.SourceDetails, "source_details")]
|
|
public void FromItemTypeTest(Data.Models.Metadata.ItemType field, string? expected)
|
|
{
|
|
string? actual = field.AsStringValue();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|