mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-28 17:37:47 +00:00
Checkpoint reflection replacement
This commit is contained in:
@@ -1490,5 +1490,101 @@ namespace SabreTools.Metadata.Filter.Test
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region RamOption
|
||||
|
||||
[Theory]
|
||||
[InlineData("ramoption.content", "content")]
|
||||
[InlineData("ramoption.default", "yes")]
|
||||
[InlineData("ramoption.name", "name")]
|
||||
public void Matches_RamOption(string itemField, string value)
|
||||
{
|
||||
var filter = new FilterObject(itemField, value, Operation.Equals);
|
||||
RamOption obj = new RamOption
|
||||
{
|
||||
Content = "content",
|
||||
Default = true,
|
||||
Name = "name",
|
||||
};
|
||||
|
||||
bool actual = filter.Matches(obj);
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Release
|
||||
|
||||
[Theory]
|
||||
[InlineData("release.date", "date")]
|
||||
[InlineData("release.default", "yes")]
|
||||
[InlineData("release.language", "language")]
|
||||
[InlineData("release.name", "name")]
|
||||
[InlineData("release.region", "region")]
|
||||
public void Matches_Release(string itemField, string value)
|
||||
{
|
||||
var filter = new FilterObject(itemField, value, Operation.Equals);
|
||||
Release obj = new Release
|
||||
{
|
||||
Date = "date",
|
||||
Default = true,
|
||||
Language = "language",
|
||||
Name = "name",
|
||||
Region = "region",
|
||||
};
|
||||
|
||||
bool actual = filter.Matches(obj);
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ReleaseDetails
|
||||
|
||||
[Theory]
|
||||
[InlineData("releasedetails.appendtonumber", "appendtonumber")]
|
||||
[InlineData("releasedetails.archivename", "archivename")]
|
||||
[InlineData("releasedetails.category", "category")]
|
||||
[InlineData("releasedetails.comment", "comment")]
|
||||
[InlineData("releasedetails.date", "date")]
|
||||
[InlineData("releasedetails.dirname", "dirname")]
|
||||
[InlineData("releasedetails.group", "group")]
|
||||
[InlineData("releasedetails.id", "id")]
|
||||
[InlineData("releasedetails.nfocrc", "nfocrc")]
|
||||
[InlineData("releasedetails.nfoname", "nfoname")]
|
||||
[InlineData("releasedetails.nfosize", "nfosize")]
|
||||
[InlineData("releasedetails.origin", "origin")]
|
||||
[InlineData("releasedetails.originalformat", "originalformat")]
|
||||
[InlineData("releasedetails.region", "region")]
|
||||
[InlineData("releasedetails.rominfo", "rominfo")]
|
||||
[InlineData("releasedetails.tool", "tool")]
|
||||
public void Matches_ReleaseDetails(string itemField, string value)
|
||||
{
|
||||
var filter = new FilterObject(itemField, value, Operation.Equals);
|
||||
ReleaseDetails obj = new ReleaseDetails
|
||||
{
|
||||
AppendToNumber = "appendtonumber",
|
||||
ArchiveName = "archivename",
|
||||
Category = "category",
|
||||
Comment = "comment",
|
||||
Date = "date",
|
||||
DirName = "dirname",
|
||||
Group = "group",
|
||||
Id = "id",
|
||||
NfoCRC = "nfocrc",
|
||||
NfoName = "nfoname",
|
||||
NfoSize = "nfosize",
|
||||
Origin = "origin",
|
||||
OriginalFormat = "originalformat",
|
||||
Region = "region",
|
||||
RomInfo = "rominfo",
|
||||
Tool = "tool",
|
||||
};
|
||||
|
||||
bool actual = filter.Matches(obj);
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -516,6 +516,51 @@ namespace SabreTools.Metadata.Filter
|
||||
"tag",
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Known keys for RamOption
|
||||
/// </summary>
|
||||
private static readonly string[] _ramOptionKeys =
|
||||
[
|
||||
"content",
|
||||
"default",
|
||||
"name",
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Known keys for Release
|
||||
/// </summary>
|
||||
private static readonly string[] _releaseKeys =
|
||||
[
|
||||
"date",
|
||||
"default",
|
||||
"language",
|
||||
"name",
|
||||
"region",
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Known keys ReleaseDetails Release
|
||||
/// </summary>
|
||||
private static readonly string[] _releaseDetailsKeys =
|
||||
[
|
||||
"appendtonumber",
|
||||
"archivename",
|
||||
"category",
|
||||
"comment",
|
||||
"date",
|
||||
"dirname",
|
||||
"group",
|
||||
"id",
|
||||
"nfocrc",
|
||||
"nfoname",
|
||||
"nfosize",
|
||||
"origin",
|
||||
"originalformat",
|
||||
"region",
|
||||
"rominfo",
|
||||
"tool",
|
||||
];
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
@@ -723,6 +768,9 @@ namespace SabreTools.Metadata.Filter
|
||||
"original" => _originalKeys,
|
||||
"part" => _partKeys,
|
||||
"port" => _portKeys,
|
||||
"ramoption" => _ramOptionKeys,
|
||||
"release" => _releaseKeys,
|
||||
"releasedetails" => _releaseDetailsKeys,
|
||||
_ => null,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user