diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs
index 90f7c6df..3de34d06 100644
--- a/SabreTools.Data.Extensions/MetadataExtensions.cs
+++ b/SabreTools.Data.Extensions/MetadataExtensions.cs
@@ -63,6 +63,7 @@ namespace SabreTools.Data.Extensions
SharedFeat sharedFeat => sharedFeat.Name,
Slot slot => slot.Name,
SlotOption slotOption => slotOption.Name,
+ Software software => software.Name,
SoftwareList softwareList => softwareList.Name,
Sound => null,
SourceDetails => null,
@@ -123,6 +124,7 @@ namespace SabreTools.Data.Extensions
case SharedFeat sharedFeat: sharedFeat.Name = name; break;
case Slot slot: slot.Name = name; break;
case SlotOption slotOption: slotOption.Name = name; break;
+ case Software software: software.Name = name; break;
case SoftwareList softwareList: softwareList.Name = name; break;
case Sound: break;
case SourceDetails: break;
@@ -335,6 +337,8 @@ namespace SabreTools.Data.Extensions
else if (self is SoftwareList selfSoftwareList && clone is SoftwareList cloneSoftwareList)
{
cloneSoftwareList.Description = selfSoftwareList.Description;
+ cloneSoftwareList.Filter = selfSoftwareList.Filter;
+ cloneSoftwareList.Notes = selfSoftwareList.Notes;
cloneSoftwareList.Status = selfSoftwareList.Status;
cloneSoftwareList.Tag = selfSoftwareList.Tag;
}
diff --git a/SabreTools.Data.Models/Metadata/Software.cs b/SabreTools.Data.Models/Metadata/Software.cs
index 9e1e2207..feb7d209 100644
--- a/SabreTools.Data.Models/Metadata/Software.cs
+++ b/SabreTools.Data.Models/Metadata/Software.cs
@@ -3,7 +3,6 @@ using Newtonsoft.Json;
namespace SabreTools.Data.Models.Metadata
{
- // TODO: What DAT type does this come from?
[JsonObject("software"), XmlRoot("software")]
public class Software : DatItem
{
diff --git a/SabreTools.Data.Models/Metadata/SoftwareList.cs b/SabreTools.Data.Models/Metadata/SoftwareList.cs
index 57944cf5..5b5c5b88 100644
--- a/SabreTools.Data.Models/Metadata/SoftwareList.cs
+++ b/SabreTools.Data.Models/Metadata/SoftwareList.cs
@@ -10,8 +10,12 @@ namespace SabreTools.Data.Models.Metadata
public string? Description { get; set; }
+ public string? Filter { get; set; }
+
public string? Name { get; set; }
+ public string? Notes { get; set; }
+
/// (original|compatible)
public SoftwareListStatus? Status { get; set; }
@@ -21,12 +25,6 @@ namespace SabreTools.Data.Models.Metadata
#region Keys
- /// string
- public const string FilterKey = "filter";
-
- /// string
- public const string NotesKey = "notes";
-
/// Software[]
[NoFilter]
public const string SoftwareKey = "software";
diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
index d89e020a..f8d003bc 100644
--- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
+++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
@@ -950,9 +950,9 @@ namespace SabreTools.Metadata.DatFiles.Test
return new Data.Models.Metadata.SoftwareList
{
Description = "description",
- [Data.Models.Metadata.SoftwareList.FilterKey] = "filter",
+ Filter = "filter",
Name = "name",
- [Data.Models.Metadata.SoftwareList.NotesKey] = "notes",
+ Notes = "notes",
[Data.Models.Metadata.SoftwareList.SoftwareKey] = new Data.Models.Metadata.Software[] { CreateMetadataSoftware() },
Status = Data.Models.Metadata.SoftwareListStatus.Original,
Tag = "tag",
@@ -1628,12 +1628,43 @@ namespace SabreTools.Metadata.DatFiles.Test
{
Assert.NotNull(softwareList);
Assert.Equal("description", softwareList.Description);
- Assert.Equal("filter", softwareList.ReadString(Data.Models.Metadata.SoftwareList.FilterKey));
+ Assert.Equal("filter", softwareList.Filter);
Assert.Equal("name", softwareList.Name);
- Assert.Equal("notes", softwareList.ReadString(Data.Models.Metadata.SoftwareList.NotesKey));
- // TODO: Figure out why Data.Models.Metadata.SoftwareList.SoftwareKey doesn't get processed
+ Assert.Equal("notes", softwareList.Notes);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwareList.Status);
Assert.Equal("tag", softwareList.Tag);
+
+ Software[]? softwares = softwareList.Read(Data.Models.Metadata.SoftwareList.SoftwareKey);
+ Assert.NotNull(softwares);
+ Software? software = Assert.Single(softwares);
+ ValidateSoftware(software);
+ }
+
+ private static void ValidateSoftware(Software? software)
+ {
+ Assert.NotNull(software);
+ Assert.Equal("cloneof", software.ReadString(Data.Models.Metadata.Software.CloneOfKey));
+ Assert.Equal("description", software.Description);
+ Assert.Equal("name", software.Name);
+ Assert.Equal("notes", software.ReadString(Data.Models.Metadata.Software.NotesKey));
+ Assert.Equal("publisher", software.ReadString(Data.Models.Metadata.Software.PublisherKey));
+ Assert.Equal(Data.Models.Metadata.Supported.Yes, software.Supported);
+ Assert.Equal("year", software.ReadString(Data.Models.Metadata.Software.YearKey));
+
+ Info[]? infos = software.Read(Data.Models.Metadata.Software.InfoKey);
+ Assert.NotNull(infos);
+ Info? info = Assert.Single(infos);
+ ValidateInfo(info);
+
+ Part[]? parts = software.Read(Data.Models.Metadata.Software.PartKey);
+ Assert.NotNull(parts);
+ Part? part = Assert.Single(parts);
+ ValidatePart(part);
+
+ SharedFeat[]? sharedFeats = software.Read(Data.Models.Metadata.Software.SharedFeatKey);
+ Assert.NotNull(sharedFeats);
+ SharedFeat? sharedFeat = Assert.Single(sharedFeats);
+ ValidateSharedFeat(sharedFeat);
}
private static void ValidateSound(Sound? sound)
diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
index c961a2cb..ce48887b 100644
--- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
+++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
@@ -1190,13 +1190,43 @@ namespace SabreTools.Metadata.DatFiles.Test
{
Assert.NotNull(softwareList);
Assert.Equal("description", softwareList.Description);
- Assert.Equal("filter", softwareList.ReadString(Data.Models.Metadata.SoftwareList.FilterKey));
+ Assert.Equal("filter", softwareList.Filter);
Assert.Equal("name", softwareList.Name);
- Assert.Equal("notes", softwareList.ReadString(Data.Models.Metadata.SoftwareList.NotesKey));
+ Assert.Equal("notes", softwareList.Notes);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwareList.Status);
Assert.Equal("tag", softwareList.Tag);
- // TODO: Figure out why Data.Models.Metadata.SoftwareList.SoftwareKey doesn't get processed
+ Data.Models.Metadata.Software[]? softwares = softwareList.ReadArray(Data.Models.Metadata.SoftwareList.SoftwareKey);
+ Assert.NotNull(softwares);
+ Data.Models.Metadata.Software? software = Assert.Single(softwares);
+ ValidateMetadataSoftware(software);
+ }
+
+ private static void ValidateMetadataSoftware(Data.Models.Metadata.Software? software)
+ {
+ Assert.NotNull(software);
+ Assert.Equal("cloneof", software.ReadString(Data.Models.Metadata.Software.CloneOfKey));
+ Assert.Equal("description", software.Description);
+ Assert.Equal("name", software.Name);
+ Assert.Equal("notes", software.ReadString(Data.Models.Metadata.Software.NotesKey));
+ Assert.Equal("publisher", software.ReadString(Data.Models.Metadata.Software.PublisherKey));
+ Assert.Equal(Data.Models.Metadata.Supported.Yes, software.Supported);
+ Assert.Equal("year", software.ReadString(Data.Models.Metadata.Software.YearKey));
+
+ Data.Models.Metadata.Info[]? infos = software.Read(Data.Models.Metadata.Software.InfoKey);
+ Assert.NotNull(infos);
+ Data.Models.Metadata.Info? info = Assert.Single(infos);
+ ValidateMetadataInfo(info);
+
+ Data.Models.Metadata.Part[]? parts = software.Read(Data.Models.Metadata.Software.PartKey);
+ Assert.NotNull(parts);
+ Data.Models.Metadata.Part? part = Assert.Single(parts);
+ ValidateMetadataPart(part);
+
+ Data.Models.Metadata.SharedFeat[]? sharedFeats = software.Read(Data.Models.Metadata.Software.SharedFeatKey);
+ Assert.NotNull(sharedFeats);
+ Data.Models.Metadata.SharedFeat? sharedFeat = Assert.Single(sharedFeats);
+ ValidateMetadataSharedFeat(sharedFeat);
}
private static void ValidateMetadataSound(Data.Models.Metadata.Sound? sound)
diff --git a/SabreTools.Metadata.DatItems/DatItem.cs b/SabreTools.Metadata.DatItems/DatItem.cs
index 604e2dec..abbefc81 100644
--- a/SabreTools.Metadata.DatItems/DatItem.cs
+++ b/SabreTools.Metadata.DatItems/DatItem.cs
@@ -51,6 +51,7 @@ namespace SabreTools.Metadata.DatItems
[XmlInclude(typeof(SharedFeat))]
[XmlInclude(typeof(Slot))]
[XmlInclude(typeof(SlotOption))]
+ [XmlInclude(typeof(Software))]
[XmlInclude(typeof(SoftwareList))]
[XmlInclude(typeof(Sound))]
[XmlInclude(typeof(SourceDetails))]
diff --git a/SabreTools.Metadata.DatItems/Formats/Part.cs b/SabreTools.Metadata.DatItems/Formats/Part.cs
index da121ff4..c61529f8 100644
--- a/SabreTools.Metadata.DatItems/Formats/Part.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Part.cs
@@ -1,11 +1,12 @@
-using System.Xml.Serialization;
+using System;
+using System.Xml.Serialization;
using Newtonsoft.Json;
using SabreTools.Data.Extensions;
namespace SabreTools.Metadata.DatItems.Formats
{
///
- /// SoftwareList part information
+ /// PartList part information
///
/// One Part can contain multiple PartFeature, DataArea, DiskArea, and DipSwitch items
[JsonObject("part"), XmlRoot("part")]
@@ -60,6 +61,42 @@ namespace SabreTools.Metadata.DatItems.Formats
///
public override object Clone() => new Part(_internal.DeepClone() as Data.Models.Metadata.Part ?? []);
+ ///
+ public override Data.Models.Metadata.Part GetInternalClone()
+ {
+ var partItem = base.GetInternalClone();
+
+ var dataAreas = Read(Data.Models.Metadata.Part.DataAreaKey);
+ if (dataAreas is not null)
+ {
+ Data.Models.Metadata.DataArea[] dataAreaItems = Array.ConvertAll(dataAreas, dataArea => dataArea.GetInternalClone());
+ partItem[Data.Models.Metadata.Part.DataAreaKey] = dataAreaItems;
+ }
+
+ var diskAreas = Read(Data.Models.Metadata.Part.DiskAreaKey);
+ if (diskAreas is not null)
+ {
+ Data.Models.Metadata.DiskArea[] diskAreaItems = Array.ConvertAll(diskAreas, diskArea => diskArea.GetInternalClone());
+ partItem[Data.Models.Metadata.Part.DiskAreaKey] = diskAreaItems;
+ }
+
+ var dipSwitches = Read(Data.Models.Metadata.Part.DipSwitchKey);
+ if (dipSwitches is not null)
+ {
+ Data.Models.Metadata.DipSwitch[] dipSwitchItems = Array.ConvertAll(dipSwitches, dipSwitch => dipSwitch.GetInternalClone());
+ partItem[Data.Models.Metadata.Part.DipSwitchKey] = dipSwitchItems;
+ }
+
+ var features = Read(Data.Models.Metadata.Part.FeatureKey);
+ if (features is not null)
+ {
+ Data.Models.Metadata.Feature[] featureItems = Array.ConvertAll(features, feature => feature.GetInternalClone());
+ partItem[Data.Models.Metadata.Part.FeatureKey] = featureItems;
+ }
+
+ return partItem;
+ }
+
#endregion
}
}
diff --git a/SabreTools.Metadata.DatItems/Formats/Software.cs b/SabreTools.Metadata.DatItems/Formats/Software.cs
new file mode 100644
index 00000000..a040c78c
--- /dev/null
+++ b/SabreTools.Metadata.DatItems/Formats/Software.cs
@@ -0,0 +1,115 @@
+using System;
+using System.Xml.Serialization;
+using Newtonsoft.Json;
+using SabreTools.Data.Extensions;
+
+namespace SabreTools.Metadata.DatItems.Formats
+{
+ ///
+ /// Represents one ListXML software
+ ///
+ [JsonObject("software"), XmlRoot("software")]
+ public sealed class Software : DatItem
+ {
+ #region Properties
+
+ public string? Description
+ {
+ get => (_internal as Data.Models.Metadata.Software)?.Description;
+ set => (_internal as Data.Models.Metadata.Software)?.Description = value;
+ }
+
+ /// />
+ public override Data.Models.Metadata.ItemType ItemType
+ => Data.Models.Metadata.ItemType.Software;
+
+ public string? Name
+ {
+ get => (_internal as Data.Models.Metadata.Software)?.Name;
+ set => (_internal as Data.Models.Metadata.Software)?.Name = value;
+ }
+
+ public Data.Models.Metadata.Supported? Supported
+ {
+ get => (_internal as Data.Models.Metadata.Software)?.Supported;
+ set => (_internal as Data.Models.Metadata.Software)?.Supported = value;
+ }
+
+ #endregion
+
+ #region Constructors
+
+ public Software() : base() { }
+
+ public Software(Data.Models.Metadata.Software item) : base(item)
+ {
+ // Handle subitems
+ var infos = item.ReadArray(Data.Models.Metadata.Software.InfoKey);
+ if (infos is not null)
+ {
+ Info[] infoItems = Array.ConvertAll(infos, info => new Info(info));
+ Write(Data.Models.Metadata.Software.InfoKey, infoItems);
+ }
+
+ var parts = item.ReadArray(Data.Models.Metadata.Software.PartKey);
+ if (parts is not null)
+ {
+ Part[] partItems = Array.ConvertAll(parts, part => new Part(part));
+ Write(Data.Models.Metadata.Software.PartKey, partItems);
+ }
+
+ var sharedFeats = item.ReadArray(Data.Models.Metadata.Software.SharedFeatKey);
+ if (sharedFeats is not null)
+ {
+ SharedFeat[] sharedFeatItems = Array.ConvertAll(sharedFeats, sharedFeat => new SharedFeat(sharedFeat));
+ Write(Data.Models.Metadata.Software.SharedFeatKey, sharedFeatItems);
+ }
+ }
+
+ public Software(Data.Models.Metadata.Software item, Machine machine, Source source) : this(item)
+ {
+ Source = source;
+ CopyMachineInformation(machine);
+ }
+
+ #endregion
+
+ #region Cloning Methods
+
+ ///
+
+ ///
+ public override object Clone() => new Software(_internal.DeepClone() as Data.Models.Metadata.Software ?? []);
+
+ ///
+ public override Data.Models.Metadata.Software GetInternalClone()
+ {
+ var softwareItem = base.GetInternalClone();
+
+ var infos = Read(Data.Models.Metadata.Software.InfoKey);
+ if (infos is not null)
+ {
+ Data.Models.Metadata.Info[] infoItems = Array.ConvertAll(infos, info => info.GetInternalClone());
+ softwareItem[Data.Models.Metadata.Software.InfoKey] = infoItems;
+ }
+
+ var parts = Read(Data.Models.Metadata.Software.PartKey);
+ if (parts is not null)
+ {
+ Data.Models.Metadata.Part[] partItems = Array.ConvertAll(parts, part => part.GetInternalClone());
+ softwareItem[Data.Models.Metadata.Software.PartKey] = partItems;
+ }
+
+ var sharedFeats = Read(Data.Models.Metadata.Software.SharedFeatKey);
+ if (sharedFeats is not null)
+ {
+ Data.Models.Metadata.SharedFeat[] sharedFeatItems = Array.ConvertAll(sharedFeats, sharedFeat => sharedFeat.GetInternalClone());
+ softwareItem[Data.Models.Metadata.Software.SharedFeatKey] = sharedFeatItems;
+ }
+
+ return softwareItem;
+ }
+
+ #endregion
+ }
+}
diff --git a/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs b/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs
index 3f23af77..0e1ae432 100644
--- a/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs
+++ b/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs
@@ -1,4 +1,5 @@
-using System.Xml.Serialization;
+using System;
+using System.Xml.Serialization;
using Newtonsoft.Json;
using SabreTools.Data.Extensions;
@@ -18,6 +19,12 @@ namespace SabreTools.Metadata.DatItems.Formats
set => (_internal as Data.Models.Metadata.SoftwareList)?.Description = value;
}
+ public string? Filter
+ {
+ get => (_internal as Data.Models.Metadata.SoftwareList)?.Filter;
+ set => (_internal as Data.Models.Metadata.SoftwareList)?.Filter = value;
+ }
+
/// />
public override Data.Models.Metadata.ItemType ItemType
=> Data.Models.Metadata.ItemType.SoftwareList;
@@ -28,6 +35,12 @@ namespace SabreTools.Metadata.DatItems.Formats
set => (_internal as Data.Models.Metadata.SoftwareList)?.Name = value;
}
+ public string? Notes
+ {
+ get => (_internal as Data.Models.Metadata.SoftwareList)?.Notes;
+ set => (_internal as Data.Models.Metadata.SoftwareList)?.Notes = value;
+ }
+
public Data.Models.Metadata.SoftwareListStatus? Status
{
get => (_internal as Data.Models.Metadata.SoftwareList)?.Status;
@@ -49,7 +62,12 @@ namespace SabreTools.Metadata.DatItems.Formats
public SoftwareList(Data.Models.Metadata.SoftwareList item) : base(item)
{
// Handle subitems
- // TODO: Handle the Software subitem
+ var softwares = item.ReadArray(Data.Models.Metadata.SoftwareList.SoftwareKey);
+ if (softwares is not null)
+ {
+ Software[] softwareItems = Array.ConvertAll(softwares, software => new Software(software));
+ Write(Data.Models.Metadata.SoftwareList.SoftwareKey, softwareItems);
+ }
}
public SoftwareList(Data.Models.Metadata.SoftwareList item, Machine machine, Source source) : this(item)
@@ -65,6 +83,21 @@ namespace SabreTools.Metadata.DatItems.Formats
///
public override object Clone() => new SoftwareList(_internal.DeepClone() as Data.Models.Metadata.SoftwareList ?? []);
+ ///
+ public override Data.Models.Metadata.SoftwareList GetInternalClone()
+ {
+ var softwareListItem = base.GetInternalClone();
+
+ var softwares = Read(Data.Models.Metadata.SoftwareList.SoftwareKey);
+ if (softwares is not null)
+ {
+ Data.Models.Metadata.Software[] softwareItems = Array.ConvertAll(softwares, software => software.GetInternalClone());
+ softwareListItem[Data.Models.Metadata.SoftwareList.SoftwareKey] = softwareItems;
+ }
+
+ return softwareListItem;
+ }
+
#endregion
}
}
diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs
index af8221e1..2728e346 100644
--- a/SabreTools.Metadata.Filter/FilterObject.cs
+++ b/SabreTools.Metadata.Filter/FilterObject.cs
@@ -839,6 +839,12 @@ namespace SabreTools.Metadata.Filter
case SoftwareList item when fieldName == "description":
checkValue = item.Description;
return true;
+ case SoftwareList item when fieldName == "filter":
+ checkValue = item.Filter;
+ return true;
+ case SoftwareList item when fieldName == "notes":
+ checkValue = item.Notes;
+ return true;
case SoftwareList item when fieldName == "status":
checkValue = item.Status?.AsStringValue();
return true;
diff --git a/SabreTools.Metadata/DictionaryBaseExtensions.cs b/SabreTools.Metadata/DictionaryBaseExtensions.cs
index a89f2d74..471f086d 100644
--- a/SabreTools.Metadata/DictionaryBaseExtensions.cs
+++ b/SabreTools.Metadata/DictionaryBaseExtensions.cs
@@ -339,6 +339,10 @@ namespace SabreTools.Metadata
{
if (selfSoftwareList.Description != otherSoftwareList.Description)
return false;
+ if (selfSoftwareList.Filter != otherSoftwareList.Filter)
+ return false;
+ if (selfSoftwareList.Notes != otherSoftwareList.Notes)
+ return false;
if (selfSoftwareList.Status != otherSoftwareList.Status)
return false;
if (selfSoftwareList.Tag != otherSoftwareList.Tag)
diff --git a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
index b9317bcc..cdda4263 100644
--- a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
@@ -317,7 +317,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
var ramoption = new Data.Models.Listxml.RamOption
@@ -861,7 +861,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
///
diff --git a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs
index 8ff4567a..b6b78d2c 100644
--- a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs
@@ -224,7 +224,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
Data.Models.Logiqx.GameBase gameBase = game
@@ -568,7 +568,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
}
}
diff --git a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
index a801540f..f151b31c 100644
--- a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
@@ -313,7 +313,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
var ramoption = new Data.Models.Listxml.RamOption
@@ -855,7 +855,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
///
diff --git a/SabreTools.Serialization.CrossModel.Test/MessTests.cs b/SabreTools.Serialization.CrossModel.Test/MessTests.cs
index d282641f..f3fa9a92 100644
--- a/SabreTools.Serialization.CrossModel.Test/MessTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/MessTests.cs
@@ -313,7 +313,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
var ramoption = new Data.Models.Listxml.RamOption
@@ -855,7 +855,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
///
diff --git a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs
index 3d3eb904..5b4a7beb 100644
--- a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs
@@ -24,7 +24,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.NotNull(newSl);
Assert.Equal("name", newSl.Name);
Assert.Equal("description", newSl.Description);
- Assert.Equal("XXXXXX", newSl.Notes);
+ Assert.Equal("notes", newSl.Notes);
Assert.NotNull(newSl.Software);
var newSoftware = Assert.Single(newSl.Software);
@@ -124,7 +124,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Description = "description",
Year = "XXXXXX",
Publisher = "XXXXXX",
- Notes = "XXXXXX",
+ Notes = "notes",
Info = [info],
SharedFeat = [sharedfeat],
Part = [part],
@@ -134,7 +134,7 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Name = "name",
Description = "description",
- Notes = "XXXXXX",
+ Notes = "notes",
Software = [software],
};
}
@@ -151,7 +151,7 @@ namespace SabreTools.Serialization.CrossModel.Test
Assert.Equal("description", software.Description);
Assert.Equal("XXXXXX", software.Year);
Assert.Equal("XXXXXX", software.Publisher);
- Assert.Equal("XXXXXX", software.Notes);
+ Assert.Equal("notes", software.Notes);
Assert.NotNull(software.Info);
var info = Assert.Single(software.Info);
diff --git a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
index 53354b34..ff086e68 100644
--- a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
+++ b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
@@ -634,7 +634,7 @@ namespace SabreTools.Serialization.CrossModel
Tag = item.Tag,
Name = item.Name,
Status = item.Status,
- Filter = item.ReadString(Data.Models.Metadata.SoftwareList.FilterKey),
+ Filter = item.Filter,
};
return softwareList;
}
diff --git a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
index 3ecd6045..a11029c1 100644
--- a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
+++ b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
@@ -675,7 +675,7 @@ namespace SabreTools.Serialization.CrossModel
Tag = item.Tag,
Name = item.Name,
Status = item.Status,
- [Data.Models.Metadata.SoftwareList.FilterKey] = item.Filter,
+ Filter = item.Filter,
};
return softwareList;
}
diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs
index b23b4f10..a265cf11 100644
--- a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs
+++ b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs
@@ -350,7 +350,7 @@ namespace SabreTools.Serialization.CrossModel
Tag = item.Tag,
Name = item.Name,
Status = item.Status,
- Filter = item.ReadString(Data.Models.Metadata.SoftwareList.FilterKey),
+ Filter = item.Filter,
};
return softwareList;
}
diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs
index 7509ecd5..ffb914f1 100644
--- a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs
+++ b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs
@@ -344,7 +344,7 @@ namespace SabreTools.Serialization.CrossModel
Tag = item.Tag,
Name = item.Name,
Status = item.Status,
- [Data.Models.Metadata.SoftwareList.FilterKey] = item.Filter,
+ Filter = item.Filter,
};
return softwareList;
}
diff --git a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
index d486c2fe..50763fe1 100644
--- a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
+++ b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
@@ -384,7 +384,7 @@ namespace SabreTools.Serialization.Readers.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
var ramoption = new Data.Models.Listxml.RamOption
@@ -928,7 +928,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
///
diff --git a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs
index 45c18740..0717566b 100644
--- a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs
+++ b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs
@@ -289,7 +289,7 @@ namespace SabreTools.Serialization.Readers.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
Data.Models.Logiqx.GameBase gameBase = game
@@ -616,7 +616,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
}
}
diff --git a/SabreTools.Serialization.Readers.Test/M1Tests.cs b/SabreTools.Serialization.Readers.Test/M1Tests.cs
index bd7bac20..9a48a233 100644
--- a/SabreTools.Serialization.Readers.Test/M1Tests.cs
+++ b/SabreTools.Serialization.Readers.Test/M1Tests.cs
@@ -380,7 +380,7 @@ namespace SabreTools.Serialization.Readers.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
var ramoption = new Data.Models.Listxml.RamOption
@@ -922,7 +922,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
///
diff --git a/SabreTools.Serialization.Readers.Test/MessTests.cs b/SabreTools.Serialization.Readers.Test/MessTests.cs
index c1374f68..a6f471cb 100644
--- a/SabreTools.Serialization.Readers.Test/MessTests.cs
+++ b/SabreTools.Serialization.Readers.Test/MessTests.cs
@@ -380,7 +380,7 @@ namespace SabreTools.Serialization.Readers.Test
Tag = "tag",
Name = "name",
Status = Data.Models.Metadata.SoftwareListStatus.Original,
- Filter = "XXXXXX",
+ Filter = "filter",
};
var ramoption = new Data.Models.Listxml.RamOption
@@ -922,7 +922,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.Equal("tag", softwarelist.Tag);
Assert.Equal("name", softwarelist.Name);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwarelist.Status);
- Assert.Equal("XXXXXX", softwarelist.Filter);
+ Assert.Equal("filter", softwarelist.Filter);
}
///
diff --git a/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs b/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs
index bd2deb23..f0241627 100644
--- a/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs
+++ b/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs
@@ -196,7 +196,7 @@ namespace SabreTools.Serialization.Readers.Test
Date = "XXXXXX",
Format = "XXXXXX",
Note = "XXXXXX",
- Filter = "XXXXXX",
+ Filter = "filter",
Version = "XXXXXX",
UpdateType = "XXXXXX",
Size = "XXXXXX",
@@ -420,7 +420,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.Equal("XXXXXX", file.Date);
Assert.Equal("XXXXXX", file.Format);
Assert.Equal("XXXXXX", file.Note);
- Assert.Equal("XXXXXX", file.Filter);
+ Assert.Equal("filter", file.Filter);
Assert.Equal("XXXXXX", file.Version);
Assert.Equal("XXXXXX", file.UpdateType);
Assert.Equal("XXXXXX", file.Size);
diff --git a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs
index bf51cd5c..7473572c 100644
--- a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs
+++ b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs
@@ -97,7 +97,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.NotNull(newSl);
Assert.Equal("name", newSl.Name);
Assert.Equal("description", newSl.Description);
- Assert.Equal("XXXXXX", newSl.Notes);
+ Assert.Equal("notes", newSl.Notes);
Assert.NotNull(newSl.Software);
var newSoftware = Assert.Single(newSl.Software);
@@ -197,7 +197,7 @@ namespace SabreTools.Serialization.Readers.Test
Description = "description",
Year = "XXXXXX",
Publisher = "XXXXXX",
- Notes = "XXXXXX",
+ Notes = "notes",
Info = [info],
SharedFeat = [sharedfeat],
Part = [part],
@@ -207,7 +207,7 @@ namespace SabreTools.Serialization.Readers.Test
{
Name = "name",
Description = "description",
- Notes = "XXXXXX",
+ Notes = "notes",
Software = [software],
};
}
@@ -224,7 +224,7 @@ namespace SabreTools.Serialization.Readers.Test
Assert.Equal("description", software.Description);
Assert.Equal("XXXXXX", software.Year);
Assert.Equal("XXXXXX", software.Publisher);
- Assert.Equal("XXXXXX", software.Notes);
+ Assert.Equal("notes", software.Notes);
Assert.NotNull(software.Info);
var info = Assert.Single(software.Info);