Add OfflineList deserialization test, fix issues

This commit is contained in:
Matt Nadareski
2023-07-12 23:40:20 -04:00
parent af6f842944
commit b64d84b37f
19 changed files with 122068 additions and 7 deletions

View File

@@ -8,5 +8,17 @@ namespace SabreTools.Models.OfflineList
{
[XmlElement("extension")]
public string[]? Extension { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -9,6 +9,9 @@ namespace SabreTools.Models.OfflineList
[XmlElement("datName")]
public string? DatName { get; set; }
[XmlElement("imFolder")]
public string? ImFolder { get; set; }
[XmlElement("datVersion")]
public string? DatVersion { get; set; }
@@ -35,7 +38,19 @@ namespace SabreTools.Models.OfflineList
[XmlElement("search")]
public Search? Search { get; set; }
[XmlElement("romtitle")]
[XmlElement("romTitle")]
public string? RomTitle { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -6,10 +6,28 @@ namespace SabreTools.Models.OfflineList
[XmlRoot("dat")]
public class Dat
{
[XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "noNamespaceSchemaLocation")]
public string? NoNamespaceSchemaLocation { get; set; }
[XmlElement("configuration")]
public Configuration? Configuration { get; set; }
[XmlElement("games")]
public Games? Games { get; set; }
[XmlElement("gui")]
public GUI? GUI { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -11,5 +11,17 @@ namespace SabreTools.Models.OfflineList
[XmlText]
public string? Content { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -11,5 +11,17 @@ namespace SabreTools.Models.OfflineList
[XmlText]
public string? Content { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -8,5 +8,17 @@ namespace SabreTools.Models.OfflineList
{
[XmlElement("romCRC")]
public FileRomCRC[]? RomCRC { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -15,5 +15,17 @@ namespace SabreTools.Models.OfflineList
[XmlText]
public string? Content { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,24 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.OfflineList
{
[XmlRoot("gui")]
public class GUI
{
[XmlElement("images")]
public Images? Images { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -45,7 +45,19 @@ namespace SabreTools.Models.OfflineList
[XmlElement("comment")]
public string? Comment { get; set; }
[XmlElement("duplicateId")]
[XmlElement("duplicateID")]
public string? DuplicateID { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -8,5 +8,17 @@ namespace SabreTools.Models.OfflineList
{
[XmlElement("game")]
public Game[]? Game { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,33 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.OfflineList
{
[XmlRoot("image")]
public class Image
{
[XmlAttribute("x")]
public string? X { get; set; }
[XmlAttribute("y")]
public string? Y { get; set; }
[XmlAttribute("width")]
public string? Width { get; set; }
[XmlAttribute("height")]
public string? Height { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,30 @@
using System.Xml;
using System.Xml.Serialization;
namespace SabreTools.Models.OfflineList
{
[XmlRoot("images")]
public class Images
{
[XmlAttribute("width")]
public string? Width { get; set; }
[XmlAttribute("height")]
public string? Height { get; set; }
[XmlElement("image")]
public Image[]? Image { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -5,14 +5,29 @@ namespace SabreTools.Models.OfflineList
{
public class InfoBase
{
/// <remarks>Boolean</remarks>
[XmlAttribute("visible")]
public bool? Visible { get; set; }
public string? Visible { get; set; }
/// <remarks>Boolean</remarks>
[XmlAttribute("inNamingOption")]
public bool? InNamingOption { get; set; }
public string? InNamingOption { get; set; }
/// <remarks>Boolean</remarks>
[XmlAttribute("default")]
public bool? Default { get; set; }
public string? Default { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
[XmlRoot("title")]
@@ -27,6 +42,9 @@ namespace SabreTools.Models.OfflineList
[XmlRoot("sourceRom")]
public class SourceRom : InfoBase { }
[XmlRoot("saveType")]
public class SaveType : InfoBase { }
[XmlRoot("romSize")]
public class RomSize : InfoBase { }

View File

@@ -18,6 +18,9 @@ namespace SabreTools.Models.OfflineList
[XmlElement("sourceRom")]
public SourceRom? SourceRom { get; set; }
[XmlElement("saveType")]
public SaveType? SaveType { get; set; }
[XmlElement("romSize")]
public RomSize? RomSize { get; set; }
@@ -41,5 +44,17 @@ namespace SabreTools.Models.OfflineList
[XmlElement("languages")]
public Languages? Languages { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -14,5 +14,17 @@ namespace SabreTools.Models.OfflineList
[XmlElement("imURL")]
public string? ImUrl { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -8,5 +8,17 @@ namespace SabreTools.Models.OfflineList
{
[XmlElement("to")]
public To[]? To { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -9,13 +9,27 @@ namespace SabreTools.Models.OfflineList
[XmlAttribute("value")]
public string? Value { get; set; }
/// <remarks>Boolean</remarks>
[XmlAttribute("default")]
public bool? Default { get; set; }
public string? Default { get; set; }
/// <remarks>Boolean</remarks>
[XmlAttribute("auto")]
public bool? Auto { get; set; }
public string? Auto { get; set; }
[XmlElement("find")]
public Find[]? Find { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
[XmlAnyAttribute]
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
/// <remarks>Should be empty</remarks>
[XmlAnyElement]
public object[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}