From 270a0dc450b7e40492c78b2a5314cf89cca710b2 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 17 Jan 2025 12:19:26 -0500 Subject: [PATCH] Create RemoveItem tests --- .../ItemDictionaryDBTests.cs | 24 ++++++++++++++++++- .../ItemDictionaryTests.cs | 22 ++++++++++++++++- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs index 6b1d66f8..8fc5eb0c 100644 --- a/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs @@ -329,7 +329,29 @@ namespace SabreTools.DatFiles.Test #region RemoveItem - // TODO: Add RemoveItem tests + [Fact] + public void RemoveItemTest() + { + Source source = new Source(0, source: null); + + Machine machine = new Machine(); + machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + + DatItem datItem = new Rom(); + datItem.SetName("rom-1"); + datItem.SetFieldValue(Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.SetFieldValue(Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.SetFieldValue(Models.Metadata.Rom.SizeKey, "1024"); + + var dict = new ItemDictionaryDB(); + long sourceIndex = dict.AddSource(source); + long machineIndex = dict.AddMachine(machine); + long itemIndex = dict.AddItem(datItem, machineIndex, sourceIndex, statsOnly: false); + + dict.RemoveItem(itemIndex); + + Assert.Empty(dict.GetItemsForBucket("game-1")); + } #endregion diff --git a/SabreTools.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.DatFiles.Test/ItemDictionaryTests.cs index bb1f8557..8be97dbb 100644 --- a/SabreTools.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.DatFiles.Test/ItemDictionaryTests.cs @@ -189,7 +189,27 @@ namespace SabreTools.DatFiles.Test #region RemoveItem - // TODO: Add RemoveItem tests + [Fact] + public void RemoveItemTest() + { + Machine machine = new Machine(); + machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + + DatItem datItem = new Rom(); + datItem.SetName("rom-1"); + datItem.SetFieldValue(Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.SetFieldValue(Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.SetFieldValue(Models.Metadata.Rom.SizeKey, "1024"); + datItem.CopyMachineInformation(machine); + + var dict = new ItemDictionary(); + dict.AddItem(datItem, statsOnly: false); + + dict.RemoveItem("game-1", (Rom)datItem.Clone()); + + Assert.Empty(dict.GetItemsForBucket("default")); + Assert.Empty(dict.GetItemsForBucket("game-1")); + } #endregion