From accddcb00d5589bb50c4e098966da6bf2e06c592 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 13 Jan 2025 21:30:37 -0500 Subject: [PATCH] Add StripSceneDatesFromItems tests --- .../DatFileTests.Filtering.cs | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs b/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs index 1658d648..6d1f4fdb 100644 --- a/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs +++ b/SabreTools.DatFiles.Test/DatFileTests.Filtering.cs @@ -27,7 +27,50 @@ namespace SabreTools.DatFiles.Test #region StripSceneDatesFromItems - // TODO: Implement StripSceneDatesFromItems tests + [Fact] + public void StripSceneDatesFromItems_Items() + { + Source source = new Source(0, source: null); + + Machine machine = new Machine(); + machine.SetFieldValue(Models.Metadata.Machine.NameKey, "10.10.10-machine-name"); + + DatItem datItem = new Rom(); + datItem.SetFieldValue(DatItem.MachineKey, machine); + datItem.SetFieldValue(DatItem.SourceKey, source); + + DatFile datFile = new Logiqx(datFile: null, deprecated: false); + datFile.AddItem(datItem, statsOnly: false); + + datFile.StripSceneDatesFromItems(); + + // The name of the bucket is not expected to change + DatItem actual = Assert.Single(datFile.GetItemsForBucket("10.10.10-machine-name")); + Machine? actualMachine = actual.GetFieldValue(DatItem.MachineKey); + Assert.NotNull(actualMachine); + Assert.Equal("machine-name", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + } + + [Fact] + public void StripSceneDatesFromItems_ItemsDB() + { + Source source = new Source(0, source: null); + + Machine machine = new Machine(); + machine.SetFieldValue(Models.Metadata.Machine.NameKey, "10.10.10-machine-name"); + + DatItem datItem = new Rom(); + + DatFile datFile = new Logiqx(datFile: null, deprecated: false); + long sourceIndex = datFile.AddSourceDB(source); + long machineIndex = datFile.AddMachineDB(machine); + _ = datFile.AddItemDB(datItem, machineIndex, sourceIndex, statsOnly: false); + + datFile.StripSceneDatesFromItems(); + + Machine actualMachine = Assert.Single(datFile.GetMachinesDB()).Value; + Assert.Equal("machine-name", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); + } #endregion }